0
私はこのコードを持っている:データベースの値をリストビューにロードできないのはなぜですか?
listView10.Items.Clear();
MySqlConnection con = new MySqlConnection("Server=166.62.27.186;Database=xxxx;Uid=xxxx;Pwd=xxxx;");
MySqlCommand cmd = new MySqlCommand("select * from appoint order by times asc", con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
con.Open();
DataTable dt = new DataTable();
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
ListViewItem Item = new ListViewItem(dr["Customer"].ToString());
Item.SubItems.Add(dr["Kind"].ToString());
Item.SubItems.Add(dr["connum"].ToString() + "/" + dr["telnum"].ToString());
Item.SubItems.Add(dr["times"].ToString());
Item.SubItems.Add(dr["address"].ToString());
Item.SubItems.Add(dr["type"].ToString());
Item.SubItems.Add(dr["notes"].ToString());
listView10.Items.Add(Item);
}
con.Close()
は、それがテーブルに値をロードする必要がありますが、それはしません。 データベースをMysql Workbenchに接続すると、接続が機能しているようです。私のwinformアプリケーションではまだデータベースに挿入できますが、それでもまだ読み込まれません。私は私が気づいたように、実行後に気づいた:
da.Fill(dt);
それだけでそこで停止し、foreachステートメントを実行しません。私は理解していない問題のようです。 私は必要に応じてより多くの情報を提供します。明日は急いで私たちの論文の私たちの防衛です。事前のおかげで
写真あなたがこの例のようにデータを取得するためにMySqlDataAdapter
に代わるものとしてMySqlDataReader.ExecuteReader()
方法でDataTable.Load()
メソッドを使用することができます
'foreach'ループは何もしないので、' dt.Rows'には行がありません(空の結果)。あなたはそれを確認しましたか? –
これをデバッグしましたか? 'dtRows'の内容を見てください。 – HimBromBeere
どのようにdt.rowsをデバッグできますか?ブレークポイントでは{}が明らかにヌルの権利を示していますか? – yuzirui