在C#中获取一个表的Schema

时间:2012-06-23 12:03:24

标签: c# sql

我想在SQL SErver中获取名为“Petro”的表的Schema 初始化connectionString后,我使用此代码

conn.open();
conn.getSchema("Tables");

但它返回所有表的模式。我只想要Petro架构。我该怎么办?

3 个答案:

答案 0 :(得分:15)

string[] restrictions = new string[4];
restrictions[2] = "Petro";
DataTable table = conn.GetSchema("Tables",restrictions);

点击此处了解更多信息:MSDN: Working with the GetSchema Methods

编辑:使用GetSchema而不是getSchema

答案 1 :(得分:5)

您可以通过以下方式检索架构:

            string sql = "select * from Petro WHERE 1 = 0";
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader reader = cmd.ExecuteReader();
            DataTable schema = reader.GetSchemaTable();

答案 2 :(得分:4)

SQL Server解决方案:

有一个名为sp_columns的商店程序。当您使用表的名称作为参数运行该过程时,它将返回仅适用于该表的模式。