如何在SQL中删除重复的OUTPUT?

时间:2017-05-31 16:53:49

标签: c# mysql

我遇到ComboBox的问题,其项目正在重复。我该如何防止这种情况?这是一些图片:

enter image description here

enter image description here

以下是我用于填充它的代码示例:

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);
}

2 个答案:

答案 0 :(得分:1)

为您的选择查询添加distinct,以便删除重复项

答案 1 :(得分:0)

看起来您的查询返回重复的行。我建议单独执行它们:

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);
}