Nir*_*Nir 8 .net c# sql-server sqldatareader
我从配置文件中获得了一个SQL查询,这个查询通常包含3-6个连接.
我需要在运行时根据SqlDataReader表示的结果集找到每个列的表名.
以下是一些不起作用的东西:
我在控制台应用程序中使用.net 3.5SP1/C#/ SQL Server 2008.
编辑:我知道这对所有情况都不可能,因为"列"可以从多个表,一个函数甚至一个常量表达式组合 - 我正在寻找一些在简单情况下有用的东西.
编辑2:找出它无法工作的原因 - 您可以使用SqlDataReader.GetSchemaTable获取表信息,但是您必须将CommandBehavior设置为KeyInfo,您可以在ExecuteReader调用中执行此操作:
reader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
Run Code Online (Sandbox Code Playgroud)
Nir*_*Nir 10
您可以使用SqlDataReader.GetSchemaTable来获取表信息,但是您必须将CommandBehavior设置为KeyInfo,您可以在ExecuteReader调用中执行此操作:
reader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
Run Code Online (Sandbox Code Playgroud)