如何使用C#在Oracle关系数据库中插入日期

Gol*_*old -2 c# oracle odac

我在Oracle中有Date Var,我尝试从C#程序中插入Data

sql = "insert into Table(MyDate) values (" + convert.todatetime(txt) + ")";
Run Code Online (Sandbox Code Playgroud)

我收到错误,我该怎么办?

Ada*_*les 11

cmd.CommandText = "INSERT INTO Table (myDate)VALUES(:dateParam)";

cmd.Parameters.Add(new OracleParameter("dateParam", OracleDbType.Date))
    .Value = DateTime.Now;

cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)


Otá*_*cio 8

使用参数.它将解决您的问题并防止注射.

  • 而不是仅仅说这个,应该使用OP的代码显示一个例子. (4认同)
  • 我不明白为什么这个答案得到了这么多的反对。这应该是一个注释,因为它既不显示代码也不解释任何可能的方法。 (3认同)

Cha*_*rch 5

Oracle期望它是一个实际的日期值,而不仅仅是一个看起来像日期的字符串.您必须使用该TO_DATE()函数来解释字符串的格式,如下所示:

INSERT INTO Table (myDate)
VALUES(TO_DATE('2009-03-30 12:30:00', 'YYYY-MM-DD HH:mi:ss'));
Run Code Online (Sandbox Code Playgroud)