2017-03-15 11 views
0

の1つのフォームで2つのリストビューにmysqlデータベースからデータを表示することが可能です2つのリストビューにMySQLデータベースからのデータを表示することは可能ですか? 私はそれをやろうとしましたが、ListviewだけでMysqlデータベース に保存されているデータが表示されていますので、可能かどうか疑問に思っていました。どのようにC#で

は、ここに私のコード

private void Form1_Load(object sender, EventArgs e) 
    { 
     MySqlConnection connection; 
     string server = "localhost"; 
     string database = "orderingitems"; 
     string uid = "root"; 
     string password = ""; 
     string connectionString; 
     connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";"; 
     connection = new MySqlConnection(connectionString); 
     connection.Open(); 
     MySqlCommand cmd= new MySqlCommand("Select * from itemlist ORDER BY item_name ASC",connection); 
     MySqlDataReader reader = cmd.ExecuteReader(); 
     while (reader.Read()) 
     { 
      ListViewItem item = new ListViewItem(reader["item_name"].ToString()); 
      item.SubItems.Add(reader["item_price"].ToString()); 

      list_items.Items.Add(item); 
     } 
     MySqlCommand command= new MySqlCommand("Select * from itemcart ORDER BY itemname ASC", connection); 
     MySqlDataReader read = command.ExecuteReader(); 
     while (read.Read()) 
     { 
      ListViewItem item1 = new ListViewItem(read["itemname"].ToString()); 
      item1.SubItems.Add(read["itemprice"].ToString()); 
      item1.SubItems.Add(read["itemquantity"].ToString()); 
      item1.SubItems.Add(read["itemtotal"].ToString()); 
      listcart.Items.Add(item1); 
     } 
     connection.Close(); 

    } 
+0

リストビューにデータが表示されていますか? –

+0

2番目の 'ListView'にコードを追加しようとしていますか?今、私は最初に人が住んでいるのを見ることができます。 –

+0

ここではDRYの原則を大いに揺さぶっていますが、それ以外にもMySqlCommandとMySqlDataReaderがそれぞれ1つずつ必要です。そのループの中で、あなたは2つのリストビューであなたのことを行うことができます。しかし実際にはコーディングの実践でいくつかのSOLID原則に従わなければなりません。 – tmutton

答えて

0

。注:OP、2つの別々のテーブルを使用して実際にあります。しかし、私は確認することを示唆している:

  1. テーブル名がフィールド名
  2. 正しい正しい
  3. データテーブルであなたのテーブルのフィールドで

ルックが存在します。一つは間違っている。 item_nameまたはitemnameです。

ListViewItem item = new ListViewItem(reader["item_name"].ToString()); 

ListViewItem item1 = new ListViewItem(read["itemname"].ToString()); 

テーブルのフィールド名を正しく指定すると、問題が分類されます。

+0

2つの異なるテーブルからのものはありませんあなたはもう一度チェックしてください私は2つの異なるリストビューの2つの異なるテーブルを選択することができます –

+0

あなたは正しいです。あなたは、私はそれを逃した。だから、何も表示されないリストビューで動作することがわかっているテーブルのフィールド名を使用しないでください。あなたのデータが2回表示されたら、おそらく2番目のテーブルに問題があることがわかります。 – tmutton

+0

さて、私はすでに、応答のためにとにかくそれをよく呼んでいるディスプレイのための2つの関数を作成することによってそれを解決しました。 –