插入ORACLE数据库时,日期型错误.???
要怎么样改???
OracleConnection conn=new OracleConnection("Data Source=wk;user id=scott;password=tiger");
string InsertCommand="insert into mould(CTNO,name,T1Date) values(:ctno,:name,:T1Date)";
OracleCommand MyCommand=new OracleCommand(InsertCommand,conn);
MyCommand.Parameters.Add("ctno", OracleType.Int32).Value = 05438;
MyCommand.Parameters.Add("name", OracleType.VarChar, 50).Value = "开关垫杆";
MyCommand.Parameters.Add("T1Date", OracleType.DateTime).Value = "To_Date('20051101','yyyy-mm-dd')";
conn.Open();
MyCommand.ExecuteNonQuery();
conn.Close();
错误信息如下:
该字符串未被识别为有效的日期时间。有一个从索引 0 处开始的未知字。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 该字符串未被识别为有效的日期时间。有一个从索引 0 处开始的未知字。
源错误:
行 33: MyCommand.Parameters.Add("T1Date", OracleType.DateTime,50).Value = "To_Date('20051101','yyyy-mm-dd')";
行 34: conn.Open();
行 35: MyCommand.ExecuteNonQuery();
行 36: conn.Close();
行 37: BindGridToSource();
问题点数:100、回复次数:10Top
1 楼dragonfly001(I want to fly!)回复于 2005-11-07 15:52:57 得分 5
To_Date('20051101','yyyy-mm-dd')";
錯誤
改為
To_Date('2005-11-01','yyyy-mm-dd')";
Top
2 楼csdnb()回复于 2005-11-07 15:58:54 得分 0
dragonfly001
不行的,早就试过了.Top
3 楼dragonfly001(I want to fly!)回复于 2005-11-07 16:01:55 得分 30
MyCommand.Parameters.Add("T1Date", OracleType.DateTime).Value = "To_Date('20051101','yyyy-mm-dd')";
改為
MyCommand.Parameters.Add("T1Date", OracleType.DateTime).Value = datetime.parse("'2005-11-01'"); 看看
Top
4 楼jxufewbt(我的目标是5星)回复于 2005-11-07 16:02:20 得分 5
To_Date('20051101','yyyy-mm-dd')";
錯誤
改為
To_Date('2005-11-01','yyyy-MM-dd')";
月要大写,小写是分。
Top
5 楼dragonfly001(I want to fly!)回复于 2005-11-07 16:02:24 得分 0
一定是你的轉換問題了:)Top
6 楼csdnb()回复于 2005-11-07 16:10:36 得分 0
TO:
dragonfly001(我思考,我生存!)
jxufewbt(我的目标是5星)
呀,都试过了,还是不行啊.Top
7 楼yanlixin4csdn(闫力昕)回复于 2005-11-07 16:12:52 得分 20
不太明白你的写法。To_Date是oracle函数,但你这样付值不行吧?要是在存储过程里还可以。
在.net 里应该是这样的吧。
dragonfly001(我思考,我生存!) ( ) 信誉:99 2005-11-07 16:01:00 得分: 0
MyCommand.Parameters.Add("T1Date", OracleType.DateTime).Value = "To_Date('20051101','yyyy-mm-dd')";
改為
MyCommand.Parameters.Add("T1Date", OracleType.DateTime).Value = datetime.parse("'2005-11-01'"); 看看
Top
8 楼csdnb()回复于 2005-11-07 16:14:38 得分 0
我是ORACLE9I 9.2.0.1
我的日期格式是这样的:
SQL> select sysdate from dual;
SYSDATE
----------
07-11月-05
Top
9 楼yanlixin4csdn(闫力昕)回复于 2005-11-07 16:15:19 得分 40
MyCommand.Parameters.Add("T1Date", OracleType.DateTime).Value = datetime.parse("2005-11-01");
好像应该是这样的。他的多了个单引号。你试试看。Top
10 楼csdnb()回复于 2005-11-07 16:55:32 得分 0
搞定了,谢谢各位.Top




