如何在文本查询中插入sql参数

时间:2013-10-18 09:02:47

标签: c# sql sql-server sqlcommand sqlparameters

我正在尝试将参数传递给sql查询(在c#中),但参数在文本块中:

SqlCommand cmd = new SqlCommand(@"EXEC sp_helptext N'dbo.@spname';");
cmd.Parameters.AddWithValue("@spname", "StoredProcedureName");

如果我直接在查询中使用存储过程名称它工作正常,但如果我传递参数它不起作用。

有谁知道如何做到这一点?

1 个答案:

答案 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");

是一个更好的选择