Wypełnianie DataTable w C # za pomocą MySQL
Próbuję wypełnić obiekt DataTable wynikami pobranymi z bazy danych MySQL, jednak DataTable, mimo że jest inicjalizowany, nie zapełnia się. Chciałem użyć tej DataTable do wypełnienia ListView. Oto, co mam dla ustawienia DataTable:
public DataTable SelectCharacters(string loginName)
{
this.Initialise();
string connection = "0.0.0.0";
string query = "SELECT * FROM characters WHERE _SteamName = '" + loginName + "'";
if (this.OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(query, connection);
MySqlDataAdapter returnVal = new MySqlDataAdapter(query,connection);
DataTable dt = new DataTable("CharacterInfo");
returnVal.Fill(dt);
this.CloseConnection();
return dt;
}
else
{
this.CloseConnection();
DataTable dt = new DataTable("CharacterInfo");
return dt;
}
}
A do wypełnienia ListView mam:
private void button1_Click(object sender, EventArgs e)
{
string searchCriteria = textBox1.Text;
dt = characterDatabase.SelectCharacters(searchCriteria);
MessageBox.Show(dt.ToString());
listView1.View = View.Details;
ListViewItem iItem;
foreach (DataRow row in dt.Rows)
{
iItem = new ListViewItem();
for (int i = 0; i < row.ItemArray.Length; i++)
{
if (i == 0)
iItem.Text = row.ItemArray[i].ToString();
else
iItem.SubItems.Add(row.ItemArray[i].ToString());
}
listView1.Items.Add(iItem);
}
}
Czy czegoś brakuje? MessageBox został dołączony, więc nie mogłem zobaczyć, czy wypełnił się.
Dziękujemy za pomoc, jaką możesz udzielić.