【发布时间】:2021-05-22 06:43:31
【问题描述】:
我正在尝试执行一个存储过程,但一直收到错误:
过程或函数“dynamictable”需要参数“@tablename”,但未提供该参数
你能修复我的代码吗?
conn.Open();
SqlCommand search = new SqlCommand("dbo.dynamictable", conn);
search.CommandType = CommandType.StoredProcedure;
search.Parameters.Add(new SqlParameter("@tablename", table));
search.Parameters.Add(new SqlParameter("width", housewidth.ToString()));
如果它可以帮助你帮助我,这里是查询:
CREATE PROCEDURE dynamictable
(@tablename nvarchar(100), @width nvarchar(50))
AS
BEGIN
DECLARE @SQL nvarchar(max)
SELECT @SQL = 'SELECT * FROM [' + @tablename+ '] WHERE [Width] = '+ @width;
EXEC sp_executesql @SQL
END
【问题讨论】:
-
您使用的是哪个 dbms? (该代码是特定于产品的。)
-
我必须质疑具有名为 width 的列的表的数量。这种方法有一个XY problem smell。
标签: c# sql sql-server tsql