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

Oracle和C#数据类型有关问题

2013-09-28 
Oracle和C#数据类型问题表结构CREATE TABLE HY-WYH.TEST_TABLE(ID NUMBER(*,0), NAME VARCHAR2(40

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();

oracle c# 数据类型 Number
[解决办法]
得到的id不是number型?
[解决办法]
引用:
OracleDbType中没有Number类型,只有Decimal,即使上面将ID参数代码改为Decimal类型,也不行。

Id有值吗,是不是空啊
[解决办法]
Int32就可以了,number默认8位

热点排行