C# - 获取字段类型

时间:2009-01-30 17:33:35

标签: c# .net-2.0 odbc dataset

在C#2.0中,我有一个字段列表和一个值列表(存储为字符串),一个表名和一个ODBC连接。

我需要获取该表上字段的数据类型,所以我知道如何生成我的sql。

从我得到的信息中获取信息的最佳方式是什么?

我唯一的想法是在数据适配器中执行SELECT TOP 0 * FROM @TableName,获取数据集,并根据数据表中的数据列迭代字段名称列表。

有没有更好的方法可以解决这个问题?

2 个答案:

答案 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
                }
            }