gpt4 book ai didi

c# - 如何使用list在DataGridView中显示查询结果

转载 作者:行者123 更新时间:2023-11-29 15:39:26 29 4
gpt4 key购买 nike

我目前正在学习如何使用 C# 进行编码。我第一次能够连接 MySQL 数据库实例!在我的代码中,我进行了 SQL 查询并将数据放入列表中。我想将 List 中存储的数据显示到 DataGridView 中。

我尝试了网上找到的几种不同的方法,但似乎都不起作用。我尝试使用 foreach 循环来显示结果。

我在类中的代码:

    public List<string>[] Select()
{
string query = "SELECT * FROM users";

//Create a list to store the result
List<string>[] list = new List<string>[3];
list[0] = new List<string>();
list[1] = new List<string>();
list[2] = new List<string>();

//Open connection
if (this.OpenConnection() == true)
{
//Create Command
MySqlCommand cmd = new MySqlCommand(query, _connection);
//Create a data reader and Execute the command
MySqlDataReader dataReader = cmd.ExecuteReader();

//Read the data and store them in the list
while (dataReader.Read())
{
list[0].Add(dataReader["user_id"] + "");
list[1].Add(dataReader["user_name"] + "");
list[2].Add(dataReader["user_lastname"] + "");
}

//close Data Reader
dataReader.Close();

//close Connection
this.CloseConnection();

//return list to be displayed
return list;
}
else
{
return list;
}
}

这是表单内的代码:

private void Button1_Click(object sender, EventArgs e)
{
DBConnect test = new DBConnect();
foreach (var item in test.Select())
{
dataGridView1.DataSource = item;
}

}

当我尝试显示结果时,我得到一个只显示“长度”的表格,每个表格都填充了一个数字。

最佳答案

如果你可以使用DataTable您可以直接将其分配给 Datasource Gridview。

if (this.OpenConnection() == true)
{

SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = con;
sqlCmd.CommandType = CommandType.Text;
sqlCmd.CommandText = "SELECT * FROM users";
SqlDataAdapter sqlDataAdap = new SqlDataAdapter(sqlCmd);

DataTable dtRecord = new DataTable();
sqlDataAdap.Fill(dtRecord);
dataGridView1.DataSource = dtRecord;
}

如果要填充按钮单击事件,请从 Select() 返回 DataTable然后在按钮中单击只需设置数据源。

关于c# - 如何使用list<T>在DataGridView中显示查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57834408/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com