Tsql c#如何使用SqlParameters作为表名或列名?

Tsql c#如何使用SqlParameters作为表名或列名?,tsql,Tsql,如何使用SQLParameter作为表名和列名 SELECT * FROM @TableName Where @ColumName=@Value 当我尝试这样做时,会出现错误。您必须使用动态sql,这通常是不推荐的 基本上,您必须像对待字符串一样对待sql,在sql中附加要包含的变量值,然后使用exec sql执行它。- 除非连接字符串,否则将无法工作-动态SQL将在单个引号中包含名称可能我应该说“concatenate”而不是“append”。我的意思是使用+运算符。 declare @Ta

如何使用SQLParameter作为表名和列名

SELECT * FROM @TableName Where @ColumName=@Value

当我尝试这样做时,会出现错误。

您必须使用动态sql,这通常是不推荐的

基本上,您必须像对待字符串一样对待sql,在sql中附加要包含的变量值,然后使用exec sql执行它。

-


除非连接字符串,否则将无法工作-动态SQL将在单个引号中包含名称可能我应该说“concatenate”而不是“append”。我的意思是使用+运算符。
declare @TableName as varchar(20)
declare @ColumnName as varchar(20)
declare @Value as varchar(20)
declare @dynsql as varchar(200)
--Set the values before
SET @dynsql='Select * from '+@TableName+'Where '+@ColumnName+'='+@Value
execute(@dynsql)