使用下面的代码我调用带有2个输入参数和1个输出参数的strored过程,但是我收到了这个错误:
绑定消息提供3个参数,但准备好的语句“”需要 2
我使用了2.1.0版本的Npgsql.dll,我尝试了下一个版本直到3.0.0 但问题仍然存在。 我使用.NET framework 3.5
NpgsqlConnection psgConnection = new NpgsqlConnection("<connection string>");
NpgsqlCommand cmd = new NpgsqlCommand();
psgConnection.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "<stored name>";
cmd.Connection = psgConnection;
NpgsqlParameter par_in_iduser = new NpgsqlParameter("in_iduser", DbType.Int32);
par_in_iduser.Value = IdUser;
cmd.Parameters.Add(par_in_iduser);
NpgsqlParameter par_in_name = new NpgsqlParameter("in_name", DbType.String);
par_in_name.Value = Nome;
cmd.Parameters.Add(par_in_name);
NpgsqlParameter par_out_id_document_search = new NpgsqlParameter("out_id_document_search", DbType.Int32);
par_out_id_document_search.Direction = ParameterDirection.Output;
par_out_id_document_search.Value = 0;
cmd.Parameters.Add(par_out_id_document_search);
cmd.Prepare();
cmd.ExecuteNonQuery();
return Int32.Parse(cmd.Parameters["out_id_document_search"].Value.ToString());