sql2005存储过程,通过不同的返回值(整型)表示不同的结果。
但是在使用OdbcCommand调用该存储过程时,获取到的返回值始终不对。代码如下:
OdbcCommand cmd = new OdbcCommand("{? = call CP_CreateUser(?,?,?)}", _OdbcConnection);
cmd.Parameters["@sUserName"].Value = sUser;
cmd.Parameters.Add("@sPwd", OdbcType.VarChar, 50);
cmd.Parameter["@sPwd"].Value = sPwd;
cmd.ExecuteNonQuery();
执行完毕后,获取返回值是错误的,获取方式如下:
但是在使用OdbcCommand调用该存储过程时,获取到的返回值始终不对。代码如下:
OdbcCommand cmd = new OdbcCommand("{? = call CP_CreateUser(?,?,?)}", _OdbcConnection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@iRtn", OdbcType.SmallInt);
cmd.Parameters["@iRtn"].Direction = ParameterDirection.ReturnValue;
cmd.Parameters["@sUserName"].Value = sUser;
cmd.Parameters.Add("@sPwd", OdbcType.VarChar, 50);
cmd.Parameter["@sPwd"].Value = sPwd;
cmd.ExecuteNonQuery();
执行完毕后,获取返回值是错误的,获取方式如下:
int irst = int.Parse(cmd.Parameters["@iRtn"].Value.ToString());
获取到的返回值是错误的,
将@iRtn的类型改为Int就可以了。