2016-05-18 1 views
1

こんにちは皆私の最初の投稿ですので、間違いがあればお詫び申し上げます。コンボボックスでアクセスデータベースから繰り返しました

私のコードで、繰り返し値がコンボボックスのドロップダウン選択に表示されるという問題が発生しました。私は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()); 
     } 
    } 

そして、ここでの問題は、どのように見えるの画像です: http://imgur.com/b22g3vg

答えて

1

ここで何をしているのですか:

SELECT Sifra, NazivRase FROM Izlozba, Rasa 

Cross Joinであり、両方のテーブルのデカルト積が得られる。これは通常、結果セットに重複した値をもたらします。

実際に両方のテーブルが必要な場合は、2つのテーブルの間にINNER JOINが必要です。

SELECT Sifra, NazivRase 
FROM Izlozba INNER JOIN Rasa 
    ON <whatever the matching fields are> 

編集:ああ、私はちょうど、コードの残りの部分を読んで、待ってください。 2つの列は2つの独立したドロップダウンボックスに入ります。それらのために2つの別個のSELECTステートメントを作成する必要があります。

+0

私は別々のSELECT文を作成しましたが、今は魅力的です。ありがとうございました。 – kraguj

関連する問題