2010-04-07 70 views
14

让我对个人项目感到愤怒;我知道我以前做过这个,但在其他地方并没有代码。据我所知,我正在设置参数,我正在设置它的值,连接是打开的,但是当我尝试填充数据集时,出现错误“过程或函数期望参数”@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 

什么都有我错过了?

+0

如果你只是使用会发生什么:'l_oCmd.Parameters.Add(新的SqlParameter(“@考”,“世界你好”));' – tloflin 2010-04-07 23:38:07

+0

完成两者不相同每个方面。 – eftpotrm 2010-04-07 23:45:48

回答

39

更改命令类型程序

+1

深夜编码,脑褪色 - 谢谢:-) – eftpotrm 2010-04-07 23:38:03

+1

呃,应该抓住那个。那让我疯狂。 – 2011-12-21 18:26:08

+1

很久没有ADO.Net。 (这是我的借口,我坚持下去) – davewilliams459 2012-08-09 18:50:28

相关问题