I am trying to update the Oracle table using C#. I have written one function
public int UpdateInfo(String emplid, bool i4, char?status,String bdate)
{
int result = -1;
try
{
using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["OracleOleDB"].ConnectionString))
{
conn.Open();
OracleCommand cmdN = conn.CreateCommand();
cmdN.CommandText= "UPDATE INFO SET I4=:i4,Status=:status,Bdate=(SELECT TO_DATE(:bdate,'DD_MON_RR'))where EMPLID =:emplid;";
cmdN.Parameters.Add(":I4",i4);
cmdN.Parameters.Add(":Status", status);
cmdN.Parameters.Add(":EMPLID",emplid);
cmdN.Parameters.Add(":Bdate", bdate);
//below code I tried as well
// OracleCommand cmd = new OracleCommand("UPDATE INFO SET I4 = :I4,Status=:Status,Bdate=TO_DATE(:Bdate,'DD_MON_RR','NLS_DATE_LANGUAGE,AMERICAN') WHERE EMPLID =:EMPLID;", conn);
//cmd.Parameters.Add(":I4", OracleDbType.Char).Value = (i4 ? 'Y' : 'N');
//cmd.Parameters.Add(":Status", OracleDbType.Char).Value = status;
//cmd.Parameters.Add(":EMPLID", OracleDbType.Varchar2).Value = emplid;
// cmd.Parameters.Add(":Bdate", OracleDbType.Date).Value = Bdate;
result = cmdN.ExecuteNonQuery();
conn.Close();
}
}
I am getting an error Invalid month. Initially I was getting an error Invalid data so Commented out that code.
If I run the same query directly out of Visual Studio it stores the data. I use below query out of Visual studio
UPDATE INFO SET Status='S',Bdate=TO_DATE('01-June-2017','DD_MON_RR') WHERE EMPLID =00016106;
Looking for help to fix this.