0 .net c# mysql database listview
我正在尝试使用从MySQL数据库提取的结果填充数据表,但是该数据表尽管已初始化,但并未填充。我想使用此DataTable填充ListView。这是我为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;
}
}
Run Code Online (Sandbox Code Playgroud)
为了填充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);
}
}
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?包含了MessageBox,所以我可以看看它是否已填充,很幸运。
谢谢你提供的所有帮助。
检查您的连接字符串,而不是使用
MySqlCommand cmd = new MySqlCommand(query, connection);
MySqlDataAdapter returnVal = new MySqlDataAdapter(query,connection);
DataTable dt = new DataTable("CharacterInfo");
returnVal.Fill(dt);
this.CloseConnection();
return dt;
Run Code Online (Sandbox Code Playgroud)
你可以用这个
MySqlCommand cmd = new MySqlCommand(query, connection);
DataTable dt = new DataTable();
dt.load(cmd.ExecuteReader());
return dt;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35850 次 |
| 最近记录: |