欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle和c#数据类型有关问题

更新时间: 2014-01-05 02:14:38 责任编辑: Author_N1

 

Oracle和C#数据类型问题
表结构

CREATE TABLE "HY-WYH"."TEST_TABLE" 
   ( "ID" NUMBER(*,0), 
"NAME" VARCHAR2(4000 CHAR)
   )

修改代码

OracleConnection conn = new OracleConnection(GetConnectString());
OracleCommand cmd = conn.CreateCommand();
conn.Open();
cmd.CommandType=System.Data.CommandType.Text;
cmd.Parameters.Add(new OracleParameter("ID",OracleDbType.Int64)); // ID应该选什么类型
cmd.Parameters.Add(new OracleParameter("NAME", OracleDbType.Varchar2));
cmd.Parameters["ID"].Value=ID;
cmd.Parameters["NAME"].Value=Name;
cmd.CommandText="UPDATE TEST_TABLE SET \"NAME\"=:NAME WHERE \"ID\" = :ID";
//执行时引发如下异常
//Oracle.DataAccess.Client.OracleException ORA-01722: invalid number
int res = cmd.ExecuteNonQuery();


--参考方法--
得到的id不是number型?
--参考方法--
引用:
OracleDbType中没有Number类型,只有Decimal,即使上面将ID参数代码改为Decimal类型,也不行。

Id有值吗,是不是空啊
--参考方法--
Int32就可以了,number默认8位
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:38
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7444/
本文WWW.DOC100.NET DOC100.NET版权所有。