首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

ORA-01036: 非法的变量名/编号\n"}

2013-03-26 
开发区,贴 了一天了,一个回复的都没有:c# 调用过程,报 {ORA-01036: 非法的变量名/编号\n}http://topic.c

开发区,贴 了一天了,一个回复的都没有:c# 调用过程,报 {"ORA-01036: 非法的变量名/编号\n"}
http://topic.csdn.net/u/20111229/15/85edf293-d263-4b2f-a858-61b7fe683afa.html?92874

请知道的,帮忙 看一下,谢谢!!

[解决办法]
我已经给你回复了。请关注。
[解决办法]
1、Oracle的更新不能出现Parameters顺序跟传来的参数顺序不一致的情形。

2、字段名太长,有的地方说是要小于32个字符,但我使用,它还要比32小,大家只能尽量控制字段名的长度。

3、虽然在Sql 语句中使用 冒号“:”代表参数,但在创建OracleParameter时,指定的参数名称不能使用冒号,在new OracleParameter时,ParameterName只能使用参数的字符部分 。
[解决办法]

C# code
[url=http://www.cnblogs.com/zwq194/archive/2010/07/12/1775646.html]C#调用Oracle存储过程的方法  [img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/16.gif][/img][/url]create or replace procedure proc2(v_id number,v_name varchar2)isbegininsert into test(id,name) values(v_id,v_name);commit;end;  OracleConnection conn = new OracleConnection("server=cw;uid=ls0019999;pwd=aaaaaa");            conn.Open();            OracleCommand cmd = conn.CreateCommand();            cmd.CommandType = CommandType.StoredProcedure;            cmd.CommandText = "proc2";            cmd.Parameters.Add("v_id", OracleType.Number).Direction = ParameterDirection.Input;//指明传入的参数是输入给oracle存储过程用的            cmd.Parameters["v_id"].Value =this.textBox1.Text.Trim();            cmd.Parameters.Add("v_name",OracleType.NVarChar).Direction = ParameterDirection.Input;//指明传入的参数是输入给oracle存储过程用的            cmd.Parameters["v_name"].Value =this.textBox2.Text.Trim();            cmd.ExecuteNonQuery();            conn.Close(); 

热点排行