我試圖用MySQL數據庫中的結果填充DataTable,但DataTable雖然已初始化,但未填充。我想用這個DataTable填充一個ListView。以下是我已經得到了DataTable的設置:使用MySQL在C#中填充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;
}
}
而且爲ListView的填充,我有:
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);
}
}
有我丟失的東西? MessageBox包含在內,所以我可以看到它是否已經填充,但沒有運氣。
感謝您提供任何幫助。
從來沒有見過這種類型的連接字符串,字符串連接=「0.0.0.0」 ; – TalentTuner
您的連接是否打開? – mjroodt