gpt4 book ai didi

C#如何从mysql数据库表中获取行标题

转载 作者:行者123 更新时间:2023-11-29 10:45:04 28 4
gpt4 key购买 nike

美好的一天,先生和女士。我计划获取所有行标题,如“column_id 和first_name、last_name 等”,并使用 mysql 数据库表中的行标题填充我的列表框。请告诉我如何做到这一点。我不知道该使用 MySqlDataAdapter 或 MySqlDataReader。我是初学者,愿意学习。

        using (MySqlConnection conns2 = new MySqlConnection(connString)) 
{
conns2.Open();
MySqlCommand comm2 = new MySqlCommand("SELECT * FROM table1",
conns2);
MySqlDataAdapter add2 = new MySqlDataAdapter(comm2);
DataTable dt2 = new DataTable();
add2.Fill(dt2);
foreach(DataColumn column in dt2.Columns)
{
columnlistbox.Items.Add(dt2.Columns);
//it shows "collection" and exactly the number of row header
//but it doesn't show like "First name, client_id and last
//name"
}
conns2.Close();
}

最佳答案

用于从数据表中获取列名称

如果您需要来自数据库的数据,并将其加载到 DataTable 中(使用 DbDataAdapter 或 DbDataReader),您可以从 DataTable.Columns 集合属性中了解列名称:

foreach (DataColumn col in dt2.Columns)
columnlistbox.Items.Add(col.ColumnName);

仅从 MySql 数据库获取架构(表、列等)

但是如果您不需要数据库中的任何数据,而只需要其结构,则可以使用 DbDataReader。为了让阅读器加载此数据,必须“模拟”数据库的查询:

using (MySqlConnection conns2 = new MySqlConnection(connString))
{
conns2.Open();
MySqlCommand comm2 = new MySqlCommand("SELECT * FROM table1", conns2);

using (var reader = MySqlCommand.ExecuteReader(CommandBehavior.SchemaOnly))
{
reader.Read();
var dtSchema = reader.GetSchemaTable();

foreach (DataRow row in tableSchema.Rows)
columnlistbox.Items.Add(row["ColumnName"]);

}
}

表格https://stackoverflow.com/a/7159610/1271037 :

关于C#如何从mysql数据库表中获取行标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44740934/

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