如何在c#中为存储过程参数添加返回值



我试图在我的数据库中调用一个存储过程,我在c#中调用InsertJ。我的过程有一个输出参数,它是一个整数。

当我运行程序并输入要插入的值时,我得到一个异常:InsertJ期望参数'@code',而没有提供。

据我所知,我提供的是正确的。谁能帮我弄清楚我做错了什么吗?

 if(input == "insert")
     {
     insertCmd = new SqlCommand(insertStmt, conn);
     insertCmd.CommandType = CommandType.StoredProcedure;
    insertCmd.Parameters.Add("@jnum", SqlDbType.VarChar, 5);
    insertCmd.Parameters.Add("@jname", SqlDbType.VarChar, 20);
    insertCmd.Parameters.Add("@city", SqlDbType.VarChar, 10);
    SqlParameter ret = insertCmd.Parameters.Add("@code", SqlDbType.Int);//here
    ret.Direction = ParameterDirection.ReturnValue;//here
    insertCmd.Prepare();
ret.Direction = ParameterDirection.ReturnValue;
应:

ret.Direction = ParameterDirection.Output;

最新更新