我试图在我的数据库中调用一个存储过程,我在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;