【发布时间】:2016-09-29 14:20:41
【问题描述】:
我正在使用 ADO.NET。当我想在 SQL 中将数据保存到表时,我需要检索该表中的列信息。信息是指列最大大小(我想从nvarchar(10) 列中获取10)和NULL 或NOT NULL。
我正在使用下一个代码:
var selectFromCmd = SqlCommandFactory.CreateCommand("select top 0 * from [dbo]." + destTableName, SqlConnection, SqlTransaction);
var dataAdapter = new SqlDataAdapter(selectFromCmd);
var destinationTable = new DataTable();
dataAdapter.Fill(destinationTable);
然后我得到DataColumn 像这样:
var column = destinationTable.Columns["MyColumn"]
但AllowDBNull 始终是true
而MaxLength 始终是-1,即使此列是string
那么,如何才能在 ADO.NET 中获取有关列属性的正确信息?
【问题讨论】:
-
为什么不尝试选择数据库表架构。这里有一些例子如果它没有帮助那么谷歌是找到你正在寻找的东西的下一个最好的东西。GetSchema Method
标签: c# sql-server ado.net