ado.net CommandBehavior.KeyInfo / getSchema 方法
在 C# asp.net vs2008 上工作。使用 Reader = Command.ExecuteReader(CommandBehavior.KeyInfo) 我尝试获取外键,有没有办法获取它? 如果我写
string sql = string.Format("Select * from {0}", tableName);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
DataTable schema = reader.GetSchemaTable();
然后在 isKey=true 设置主键。我想从这个命令获取外键。有什么方法可以获取它。 如果有任何疑问请询问。提前致谢。
Work on C# asp.net vs2008. with Reader = Command.ExecuteReader(CommandBehavior.KeyInfo) i try to get foreign keys , is there a way to get it ?
if i write
string sql = string.Format("Select * from {0}", tableName);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
DataTable schema = reader.GetSchemaTable();
Then on isKey=true set for primary key.I want to get foreign key from this command.Is there any way to get it.
If have any query plz ask.Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您有管理权限。您可以从以下查询中获取结果。
您可以在后面的代码中使用以下代码
If you have the administrative Priviliges. You can get the result from the below query.
You can use the below code in your code behind
ADO.NET 当前不从数据源返回外键信息。 CommandBehavior.KeyInfo 仅指主键信息。
http://support.microsoft.com/kb/310107
使用此::
**选择
fk。 CONSTRAINT_NAME、fk.UNIQUE_CONSTRAINT_NAME、cn.TABLE_NAME、cn.COLUMN_NAME
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS中的
作为 fk
join INFORMATION_SCHEMA.TABLE_CONSTRAINTS 作为 pk
上的
pk.CONSTRAINT_NAME=fk.UNIQUE_CONSTRAINT_NAME
将 INFORMATION_SCHEMA.KEY_COLUMN_USAGE 作为 cn 加入到
cn.CONSTRAINT_NAME=fk.CONSTRAINT_NAME 上
,其中 cn.TABLE_NAME='tablename'**
ADO.NET does not currently return foreign key information from a data source. CommandBehavior.KeyInfo refers to primary key information only.
http://support.microsoft.com/kb/310107
Use this::
**select
fk.CONSTRAINT_NAME,fk.UNIQUE_CONSTRAINT_NAME, cn.TABLE_NAME,cn.COLUMN_NAME
from
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS as fk
join INFORMATION_SCHEMA.TABLE_CONSTRAINTS as pk
on
pk.CONSTRAINT_NAME=fk.UNIQUE_CONSTRAINT_NAME
join INFORMATION_SCHEMA.KEY_COLUMN_USAGE as cn
on cn.CONSTRAINT_NAME=fk.CONSTRAINT_NAME
where cn.TABLE_NAME='tablename'**