Bas*_*rdo 7 c# stored-procedures sqlcommand parameter-passing
string commandGetIslemIdleri = ("EXEC GetIslemIdleri");
cmd = new SqlCommand(commandGetIslemIdleri, sqlConn);
cmd.Parameters.Add(new SqlParameter("@CARIID", 110));
using (var reader = cmd.ExecuteReader()) //error occurs here
{
while (reader.Read())
{
islemidleri.Add(reader.GetInt32(0));
}
}
Run Code Online (Sandbox Code Playgroud)
上面是我试图编写的代码CARIID,它使用一个整数参数来调用以下存储过程。当我运行代码时,发生错误并提示,"Procedure or function 'GetIslemIdleri' expects parameter '@CARIID', which was not supplied."
但据我从此处阅读的示例了解到的,我正在使用此代码发送参数,cmd.Parameters.Add(new SqlParameter("@CARIID", 110));我需要帮助,在此先感谢您。
ALTER PROCEDURE [dbo].[GetIslemIdleri]
@CARIID int
AS
BEGIN
SET NOCOUNT ON;
SELECT ID
FROM TBLP1ISLEM
WHERE TBLP1ISLEM.CARI_ID=@CARIID
END
Run Code Online (Sandbox Code Playgroud)
如果要使用 SqlCommand 调用存储过程,请不要执行EXEC GetIslemIdleri,只执行GetIslemIdleri,将CommandType设置为CommandType.StoredProcedure:
cmd = new SqlCommand("GetIslemIdleri", sqlConn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@CARIID", 110));
using (var reader = cmd.ExecuteReader()) //error occurs here
{
while (reader.Read())
{
islemidleri.Add(reader.GetInt32(0));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37075 次 |
| 最近记录: |