【发布时间】:2011-02-05 11:58:08
【问题描述】:
在个人项目上让我发疯;我知道我以前做过这个,但在其他地方没有代码。据我所见,我正在设置参数,我正在设置它的值,连接已打开,但是当我尝试填充数据集时,我收到错误“过程或函数需要参数“@test”不提供'。
(这显然是一个简化的测试!虽然这个或实际的代码相同,但更长的代码。)
C#:
SqlCommand l_oCmd;
DataSet l_oPage = new DataSet();
l_oCmd = new SqlCommand("usp_test", g_oConn);
l_oCmd.Parameters.Add(new SqlParameter("@test", SqlDbType.NVarChar));
l_oCmd.Parameters[0].Value = "hello world";
SqlDataAdapter da = new SqlDataAdapter(l_oCmd);
da.Fill(l_oPage);
SQL:
create procedure usp_test
(
@test nvarchar(1000)
)
as
select @test
我错过了什么?
【问题讨论】:
-
如果你只使用会发生什么:
l_oCmd.Parameters.Add(new SqlParameter("@test", "hello world")); -
两者都做,各方面都一样。
标签: asp.net sql sql-server ado.net