У меня есть этот код:
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. Какая проблема, я не понимаю. При необходимости, я предоставлю дополнительную информацию, я буду в спешке завтра, это наша защита в нашей диссертации. заранее спасибо
фотографии при отладке
Вы можете использовать метод DataTable.Load()
методом MySqlDataReader.ExecuteReader()
как альтернативу MySqlDataAdapter
для получения данных, подобных этому примеру:
using (MySqlConnection con = new MySqlConnection("Server=166.62.27.186;Database=xxxx;Uid=xxxx;Pwd=xxxx;"))
{
con.Open();
using (MySqlCommand cmd = new MySqlCommand("select * from appoint order by times asc", con))
{
MySqlDataReader rdr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(rdr);
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();
}