Literal与格式字符串不匹配

时间:2012-01-04 04:32:46

标签: c# oracle10g ora-01861

我正在尝试在oracle express 10 g table中插入数据。

我的表包含以下列:

Field Name                           Data Type

 ATDATE                               DATE
 ATTIME                               VARCHAR2(5)
 EMPNO                                NUMBER(8)
 INOUTIND                             CHAR(1)
 TRTNO                                CHAR(3)
 FLAG                                 NUMBER(2)
 STATUS                               CHAR(1)
 LUPDT                                DATE

现在,当我尝试从我的C#Windows应用程序插入数据时,我收到错误

  

ORA-01861:文字与格式字符串“

不匹配

那我怎么解决呢?

我正在使用OracleCommand在表单中编写插入命令。


OracleCommand cmd = new OracleCommand("INSERT INTO TMPATND values(:Atdate,:Attime,:Empno,:Inoutind,:Trtno,:Flag,:Status,:Lupdt)", con); 

:Atdate,:Attime etc are parameters. e.g: cmd.Parameters.AddWithValue(":Atdate","20120103");

我应该以哪种格式通过日期? (dd / mm / yyyy或yyyymmdd或其他)

1 个答案:

答案 0 :(得分:2)

如果使用参数执行插入操作,则无需担心字符串的格式。

但是,如果这不是一个选项,您可以使用:

myDate.ToString("dd-MMM-yy").ToUpper()