Question

I am trying to insert data in oracle express 10 g table.

My table contains following Columns:

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

Now when I am trying to insert data from my C# Windows application I am getting error

ORA-01861 : literal does not match format string"

So how can I solve it?

I am writing insert command in the Form itself using 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");

In which format I should pass the date? ( dd/mm/yyyy or yyyymmdd or others)

Was it helpful?

Solution

If you perform the insert using parameters, you won't have to worry about the format of the string.

However, if that is not an option, you can use:

myDate.ToString("dd-MMM-yy").ToUpper()
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top