当我尝试使用oledb通过.net插入记录时,它会插入错误的数据
public void param()
{
OleDbCommand cmd2 = new OleDbCommand("INSERT INTO PARAM_INF(PRM_FRM_DT,PRM_TO_DT) values(to_date('01-Jul-2014'),to_date('01-Jul-2014'))", con) { CommandType = CommandType.Text };
if (con.State == ConnectionState.Closed)
{
con.Open();
}
cmd2.ExecuteNonQuery();
con.Close();
}
结果select prm_frm_dt,prm_to_dt from PARAM_INF;
PRM_FRM_DT PRM_TO_DT
------------------ ------------------
20-JUL-01 02:00:00 20-JUL-01 02:00:00
但是sqldeveloper或sqlplus结果中的相同insert语句是正确的。
select prm_frm_dt,prm_to_dt from PARAM_INF;
PRM_FRM_DT PRM_TO_DT
------------------ ------------------
01-JUL-14 12:00:00 01-JUL-14 12:00:00
答案 0 :(得分:1)
public void param()
{
OleDbCommand cmd2 = new OleDbCommand("INSERT INTO PARAM_INF(PRM_FRM_DT,PRM_TO_DT) values('" + String.Format("{0:yyyy-MMM-dd}", Convert.ToDateTime("01-Jul-2014")) + "','" + String.Format("{0:yyyy-MMM-dd}", Convert.ToDateTime("01-Jul-2014")) + "')", con) { CommandType = CommandType.Text };
if (con.State == ConnectionState.Closed)
{
con.Open();
}
cmd2.ExecuteNonQuery();
con.Close();
}
这肯定会帮助你......一旦我也有同样的问题......