C# 如何删除SQL中的重复输出?
我有一个组合框的问题,它的项目被复制。我怎样才能避免这种情况?以下是一些图片: 下面是我用来填充它的代码示例:C# 如何删除SQL中的重复输出?,c#,mysql,C#,Mysql,我有一个组合框的问题,它的项目被复制。我怎样才能避免这种情况?以下是一些图片: 下面是我用来填充它的代码示例: string SelectQuery = "SELECT Part , Model FROM ctautoparts.nissanpart , ctautoparts.nissan ;"; MySqlConnection sqlConn = new MySqlConnection(myConnectionString); MySqlCommand cmdDatabase =
string SelectQuery = "SELECT Part , Model FROM ctautoparts.nissanpart , ctautoparts.nissan ;";
MySqlConnection sqlConn = new MySqlConnection(myConnectionString);
MySqlCommand cmdDatabase = new MySqlCommand(SelectQuery, sqlConn);
MySqlDataReader myReader;
try
{
sqlConn.Open();
myReader = cmdDatabase.ExecuteReader();
// int model = myReader.GetOrdinal("model");
//int model1 = myReader.GetOrdinal("part");
while (myReader.Read())
{
// string namethestore = myReader.IsDBNull(model)
// ? string.Empty
// : myReader.GetString("model");
// this.carmodel.Text = namethestore;
// string namethestore1 = myReader.IsDBNull(model)
// ? string.Empty
// : myReader.GetString("parts");
/// this.carpart.Text = namethestore1;
carmodel.Items.Add(myReader["Model"].ToString());
carpart.Items.Add(myReader["Part"].ToString());
}
}
catch (Exception msg)
{
MessageBox.Show(msg.Message);
}
将distinct添加到select查询中,以便删除重复项看起来您的查询返回的是重复的行。我建议将它们分开执行:
try
{
// POPULATE MODELS
string modelsQuery = "SELECT Model FROM ctautoparts.nissan;";
using (MySqlConnection sqlConn = new MySqlConnection(myConnectionString))
{
using (MySqlCommand cmdDatabase = new MySqlCommand(modelsQuery, sqlConn))
{
sqlConn.Open();
MySqlDataReader myReader = cmdDatabase.ExecuteReader();
// int model = myReader.GetOrdinal("model");
//int model1 = myReader.GetOrdinal("part");
while (myReader.Read())
{
carmodel.Items.Add(myReader["Model"].ToString());
}
}
}
// POPULATE PARTS
string partsQuery = "SELECT Part FROM ctautoparts.nissanpart;";
using (MySqlConnection sqlConn = new MySqlConnection(myConnectionString))
{
using (MySqlCommand cmdDatabase = new MySqlCommand(partsQuery, sqlConn))
{
sqlConn.Open();
MySqlDataReader myReader = cmdDatabase.ExecuteReader();
// int model = myReader.GetOrdinal("model");
//int model1 = myReader.GetOrdinal("part");
while (myReader.Read())
{
carpart.Items.Add(myReader["Part"].ToString());
}
}
}
}
catch (Exception msg)
{
MessageBox.Show(msg.Message);
}
它仍然重复您如何确定问题是查询?如果OP多次调用那个函数呢?你说的OP是什么意思?对不起,我new@SigbinPInos原始海报,。我如何停止多次呼叫他们?string SelectQuery=选择部件,型号来自ctautoparts.nissanpart,ctautoparts.nissan@我编辑了我的答案,我没有看到你的问题。执行两个查询比只执行一个查询更好、更简单,因为您甚至没有进行内部连接。这意味着什么?严重性代码说明项目文件行错误CS0246找不到类型或命名空间名称“SqlDataReader”是否缺少using指令或程序集引用?CTAUTOPARTS c:\users\kevin\documents\visual studio 2015\Projects\CTAUTOPARTS\CTAUTOPARTS\AddInventory.cs145@SigbinPInos我忘了你在用MySQL。我编辑了我的答案,只需将所有SqlConnection、SqlCommand和SqlDataReader分别更改为MySqlConnection、MySqlCommand和MySqlDataReader.BRO!非常感谢你!当您从本机mysql提示符运行查询时,是否会得到重复的结果?