14

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

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

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

4

3 回答 3

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

在此处查看更多信息:MSDN:使用 GetSchema 方法

编辑:使用 GetSchema 而不是 getSchema

于 2012-06-23T12:09:40.053 回答
7

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

            string sql = "select * from Petro WHERE 1 = 0";
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader reader = cmd.ExecuteReader();
            DataTable schema = reader.GetSchemaTable();
于 2012-06-23T12:15:28.633 回答
5

SQL Server 解决方案:

有一个存储过程称为sp_columns. 当您使用表名作为参数运行该过程时,它将仅返回该表的架构。

于 2012-06-23T12:09:03.097 回答