Asp.net 使用.net oledb在oracle数据库中插入错误的日期
当我尝试使用oledb通过.net插入记录时,它插入了错误的数据Asp.net 使用.net oledb在oracle数据库中插入错误的日期,asp.net,sql,oracle,Asp.net,Sql,Oracle,当我尝试使用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.
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();
}
结果从参数INF中选择prm_frm_dt、prm_to_dt代码>
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
这肯定会帮助你。。。有一次我也遇到了同样的问题…需要帮助我遇到了严重的麻烦我猜使用默认日期格式参数化查询的工具会有多大帮助;因此,您不需要执行基于文本的日期,因为这些日期受每个服务器/平台之间的文化和差异的影响
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();
}