我正在尝试将参数传递给sql查询(在c#中),但参数在文本块中:
SqlCommand cmd = new SqlCommand(@"EXEC sp_helptext N'dbo.@spname';");
cmd.Parameters.AddWithValue("@spname", "StoredProcedureName");
如果我直接在查询中使用存储过程名称它工作正常,但如果我传递参数它不起作用。
有谁知道如何做到这一点?
答案 0 :(得分:1)
你可以做到
SqlCommand cmd = new SqlCommand("EXEC sp_helptext @spname");
cmd.Parameters.AddWithValue("@spname", "dbo.StoredProcedureName");
但是使用
SqlCommand cmd = new SqlCommand("sp_helptext");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@objname", "dbo.StoredProcedureName");
是一个更好的选择