C# 从组合框中的access数据库重复
大家好,这是我的第一篇文章,所以如果我犯了任何错误,我道歉 我在代码中遇到了一个问题,在combobox下拉选择中显示了重复的值。我试图显示Access数据库中某列的值 这是我的密码C# 从组合框中的access数据库重复,c#,visual-studio,ms-access,combobox,datareader,C#,Visual Studio,Ms Access,Combobox,Datareader,大家好,这是我的第一篇文章,所以如果我犯了任何错误,我道歉 我在代码中遇到了一个问题,在combobox下拉选择中显示了重复的值。我试图显示Access数据库中某列的值 这是我的密码 private void Spisak_Load(object sender, EventArgs e) { OleDbConnection konekcija = new OleDbConnection(@"Provider = Microsoft.ACE.OLEDB.12.0; Data
private void Spisak_Load(object sender, EventArgs e)
{
OleDbConnection konekcija = new OleDbConnection(@"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = D:\Programiranje\Programi\Izlozba Pasa\Izlozba Pasa\izlozba.accdb");
konekcija.Open();
OleDbCommand komanda = new OleDbCommand("SELECT Sifra, NazivRase FROM Izlozba, Rasa", konekcija);
OleDbDataReader reader = komanda.ExecuteReader();
while(reader.Read())
{
comboBox1.Items.Add(reader["Sifra"].ToString());
comboBox2.Items.Add(reader["NazivRase"].ToString());
}
}
下面是问题的图像:
另外,在快速谷歌搜索之后,这可能会帮助您在访问端完成以下操作:您在这里做什么:
SELECT Sifra, NazivRase FROM Izlozba, Rasa
是a,导致两个表的笛卡尔乘积。这通常会导致结果集中出现重复的值
如果您确实需要这两个表,那么这两个表之间应该有一个内部联接
SELECT Sifra, NazivRase
FROM Izlozba INNER JOIN Rasa
ON <whatever the matching fields are>
选择Sifra、NazivRase
从Izlozba内部连接Rasa
在…上
编辑:哦,等等,我刚刚读了代码的其余部分。这两列进入两个单独的下拉框。您需要为它们创建两个单独的SELECT语句。我创建了单独的SELECT语句,现在它就像一个符咒一样工作。非常感谢。
SELECT Sifra, NazivRase
FROM Izlozba INNER JOIN Rasa
ON <whatever the matching fields are>