在C#2.0中,我有一个字段列表和一个值列表(存储为字符串),一个表名和一个ODBC连接。
我需要获取该表上字段的数据类型,所以我知道如何生成我的sql。
从我得到的信息中获取信息的最佳方式是什么?
我唯一的想法是在数据适配器中执行SELECT TOP 0 * FROM @TableName
,获取数据集,并根据数据表中的数据列迭代字段名称列表。
有没有更好的方法可以解决这个问题?
答案 0 :(得分:4)
试试这个
select * from sys.columns where object_id = object_id('MyTable')
希望这有帮助。
答案 1 :(得分:2)
您最好的选择是查询您提到的Nick Berardi等数据库系统表。如果由于某种原因这不是一个选项,你可以这样做:
using (SqlConnection conn = new SqlConnection(myConnectionString))
{
using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * from MyTable", conn))
{
DataTable table = new DataTable();
adapter.FillSchema(table, SchemaType.Mapped);
//at this point, table will have no rows, but will have all the columns of which you can get their datatypes
}
}