Почему я не могу загрузить значения базы данных в мой список?

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. Какая проблема, я не понимаю. При необходимости, я предоставлю дополнительную информацию, я буду в спешке завтра, это наша защита в нашей диссертации. заранее спасибо

фотографии при отладке

Изображение 174551

Изображение 174551

Изображение 174551

Теги:
listview

1 ответ

1
Лучший ответ

Вы можете использовать метод 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();
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню