求大神指点!!
存储过程:procedure UpdateRecords(id_in in number,newName in varchar2,newAge in varchar2) as
begin
update test set U_AGE=newAge,U_NAME=newName where U_ID=id_in;
end UpdateRecords;
C#调用:
OracleCommand cmd = new OracleCommand("TestPackage.UpdateRecords", con);
cmd.Parameters.Add("newName", OracleType.VarChar).Direction = ParameterDirection.Input;
cmd.Parameters["newName"].Value = this.textBox3.Text.ToString();
cmd.Parameters.Add("newAge", OracleType.VarChar).Direction = ParameterDirection.Input;
cmd.Parameters["newAge"].Value = this.textBox4.Text.ToString();
cmd.Parameters.Add("id_in", OracleType.Number).Direction = ParameterDirection.Input;
cmd.Parameters["id_in"].Value = this.textBox5.Text.Trim();
int re = cmd.ExecuteNonQuery();
if (re != 0)
{ MessageBox.Show("更新成功!!"); }
con.Close();
报错,“非法的变量名/编号” ,小弟新学,求解释,谢谢了!!! --------------------编程问答-------------------- Oracle参数化中的参数加上英文冒号引导符,cmd.Parameters.Add(":newName", OracleType.VarChar).Direction = ParameterDirection.Input;
这种 --------------------编程问答-------------------- 你报错的是哪行知道不?我感觉Add的参数不对,我记得调用sql的貌似三个参数咧,还有一个长度呢。
试试 cmd.Parameters.Add(存数过程名,类型,长度);
补充:.NET技术 , C#