从组合框中的访问数据库重复
Repeated from access database in combobox
大家好,这是我的第一次post,如果有任何错误,我深表歉意。
我在代码中遇到了一个问题,在组合框下拉选择中显示了重复的值。我正在尝试显示我的 Access 数据库中列的值。
这是我的代码。
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 DISTINCT Sifra, NazivRase FROM Izlozba, Ras
另外,在快速 google 搜索之后,这可以帮助您解决访问端的问题:http://www.techonthenet.com/access/comboboxes/unique_values2013.php
你在这里做什么:
SELECT Sifra, NazivRase FROM Izlozba, Rasa
是一个 Cross Join,导致两个表的笛卡尔积。这通常会导致结果集中出现重复值。
两个表之间应该有一个 INNER JOIN,如果您确实需要它们。
SELECT Sifra, NazivRase
FROM Izlozba INNER JOIN Rasa
ON <whatever the matching fields are>
编辑: 等等,我刚刚阅读了代码的其余部分。这两列进入两个单独的下拉框。您需要为它们创建两个单独的 SELECT 语句。
大家好,这是我的第一次post,如果有任何错误,我深表歉意。
我在代码中遇到了一个问题,在组合框下拉选择中显示了重复的值。我正在尝试显示我的 Access 数据库中列的值。
这是我的代码。
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 DISTINCT Sifra, NazivRase FROM Izlozba, Ras
另外,在快速 google 搜索之后,这可以帮助您解决访问端的问题:http://www.techonthenet.com/access/comboboxes/unique_values2013.php
你在这里做什么:
SELECT Sifra, NazivRase FROM Izlozba, Rasa
是一个 Cross Join,导致两个表的笛卡尔积。这通常会导致结果集中出现重复值。
两个表之间应该有一个 INNER JOIN,如果您确实需要它们。
SELECT Sifra, NazivRase
FROM Izlozba INNER JOIN Rasa
ON <whatever the matching fields are>
编辑: 等等,我刚刚阅读了代码的其余部分。这两列进入两个单独的下拉框。您需要为它们创建两个单独的 SELECT 语句。