gpt4 book ai didi

c# - 从 mysql 数据表的表中获取列模式

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

我想从 Mysql 数据库中获取包含完整详细信息的列架构。

我有两个表,其中 Customer 表架构类似于

enter image description here

而另一个表Orders表架构是这样的

enter image description here

我想根据我的连接查询获取这些列架构

using (MySqlConnection myConnection = new MySqlConnection("Server=xxxx;Uid=is;Pwd=password;Database=mydatabse"))
{
using (MySqlCommand cmd = new MySqlCommand("SELECT a.CustomerID, a.PostalCode, b.Freight, b.ShippedDate
FROM orders b, customers a
WHERE a.CustomerID = b.CustomerID Limit 5;", myConnection))
{
myConnection.Open();
using (MySqlDataReader mdr = cmd.ExecuteReader())
{
DataSet ds = new DataSet();
ds.Tables.Add("Customers");

mdr.Read();
DataRow dr;
dt.Columns.Add("ColName");
dt.Columns.Add("ColType");

for (int k = 0; k <= mdr.FieldCount - 1; k++)
{
dr = dt.NewRow();
dr["ColName"] = mdr.GetName(k);
dr["ColType"] = mdr.GetDataTypeName(k);
dt.Rows.Add(dr);
}
}
}
}

我需要我在连接查询中使用的所选列的完整详细架构。我已使用 GetDataTypeName() 检索列类型,但它仅返回数据类型。

我找到了这个查询

select * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'nsightsmysqldata' AND TABLE_NAME = 'customers';

它返回与该表相关的所有详细信息,但我只需要我在上面的连接查询中使用的那些列详细信息。

请提供可能的解决方案。

最佳答案

事实证明,您可以使用 connection object

好吧,至少它在 powershell 中对我有用。

$conn.GetSchema("Columns") 将当前数据库中的每个列模式作为 DataTable 返回

关于c# - 从 mysql 数据表的表中获取列模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34396317/

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