我在Oracle中有Date Var,我尝试从C#程序中插入Data
sql = "insert into Table(MyDate) values (" + convert.todatetime(txt) + ")";
我收到错误,我该怎么办?
cmd.CommandText = "INSERT INTO Table (myDate)VALUES(:dateParam)"; cmd.Parameters.Add(new OracleParameter("dateParam", OracleDbType.Date)) .Value = DateTime.Now; cmd.ExecuteNonQuery();
使用参数.它将解决您的问题并防止注射.
Oracle期望它是一个实际的日期值,而不仅仅是一个看起来像日期的字符串.您必须使用该TO_DATE()
函数来解释字符串的格式,如下所示:
INSERT INTO Table (myDate) VALUES(TO_DATE('2009-03-30 12:30:00', 'YYYY-MM-DD HH:mi:ss'));