gpt4 book ai didi

c# - 如何获取DataTable中某列的SqlType?

转载 作者:可可西里 更新时间:2023-11-01 03:03:22 25 4
gpt4 key购买 nike

我有一个从 SQL 数据库中获取的数据表,如下所示:

using (SqlCommand cmd = new SqlCommand(query, _sqlserverDB))
{
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
result = (dataSet != null && dataSet.Tables != null && dataSet.Tables.Count > 0) ? dataSet.Tables[0] : null;
}
}

当我尝试通过 dataColumn.DataType 获取每列的数据类型时,我得到了 C# 类型(Int32、Int64、String 等)。

问题:如何访问原生 SQL 数据类型(varchar、nvarchar、bigint...)而不是 C# 类型?

我试过 dataColumn.DataType.UnderlyingSystemType,结果是一样的。

最佳答案

当然可以采用列的 SqlDbType,答案就在这里:link .

SqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "SET FMTONLY ON; select column from table; SET FMTONLY OFF";
SqlDataReader reader = cmd.ExecuteReader();
SqlDbType type = (SqlDbType)(int)reader.GetSchemaTable().Rows[0]["ProviderType"];

关于c# - 如何获取DataTable中某列的SqlType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7470258/

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