初始化connectionString后,我想在SQL SErver中获取名称为“Petro”的表的架构,我使用此代码
conn.open();
conn.getSchema("Tables");
但它返回所有表的架构。我只想要 Petro 模式。我该怎么办?
string[] restrictions = new string[4];
restrictions[2] = "Petro";
DataTable table = conn.GetSchema("Tables",restrictions);
在此处查看更多信息:MSDN:使用 GetSchema 方法
编辑:使用 GetSchema 而不是 getSchema
您可以通过以下方式检索架构:
string sql = "select * from Petro WHERE 1 = 0";
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
DataTable schema = reader.GetSchemaTable();
SQL Server 解决方案:
有一个存储过程称为sp_columns
. 当您使用表名作为参数运行该过程时,它将仅返回该表的架构。