【发布时间】:2019-02-07 19:12:14
【问题描述】:
这是我的查询,它是关于 2014 Adventure 的作品。
DECLARE @l_RunSQL VARCHAR(MAX);
SELECT @l_RunSQL = COALESCE(@l_RunSQL + ' UNION ALL SELECT * FROM [', 'SELECT * FROM [') + TABLE_SCHEMA +'].['+ TABLE_NAME+']'
FROM INFORMATION_SCHEMA.TABLES
WHERE [TABLE_TYPE] = 'BASE TABLE'
AND [TABLE_NAME] LIKE 'Address';
EXEC (@l_RunSQL)
WITH RESULT SETS
(
(
[AddressID] [INT],
[AddressLine1] [NVARCHAR](60),
[AddressLine2] [NVARCHAR](60),
[City] [NVARCHAR](30),
[StateProvinceID] [INT],
[PostalCode] [NVARCHAR](15),
[SpatialLocation] [GEOGRAPHY],
[rowguid] [UNIQUEIDENTIFIER],
[ModifiedDate] [DATETIME]
)
);
我可以在 SSMS 中运行它,并根据需要获得 Person.Address 表的内容。
在 C# 中,我创建了一个连接节点,然后创建了一个命令节点并尝试像这样执行查询:
using (var reader = command.ExecuteReader(CommandBehavior.SchemaOnly))
{
schemaTable = reader.GetSchemaTable();
}
阅读器结果返回为空。为什么此命令在 SSMS 中有效但在 C# 中无效?
连接类型为System.Data.SqlClient.SqlConnection,命令类型为System.Data.SqlClient.SqlCommand。
任何帮助将不胜感激
【问题讨论】:
标签: c# sql .net sqlconnection sqlcommand