当前位置:编程学习 > C#/ASP.NET >>

求大神指点!!

存储过程:   
 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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,