如何使用Oracle连接从asp.net C#Web表单将日期插入Oracle表

本文关键字:Oracle 表单 日期 插入 C#Web net 何使用 连接 asp | 更新日期: 2023-09-27 17:59:36

我有一个使用Toad创建的表。这有一个名为created的字段,它将存储创建日期,所以我需要使用C#和Oracle连接从代码后面插入创建日期。

但我无法插入日期。在执行此操作时,它抛出了异常ORA-01843:不是有效月份,并且当我尝试使用to_date函数时,它显示在Microsoft Visual Studio的当前上下文中找不到to_date

我使用了以下代码:

DateTime dt = DateTime.Today;
.
.
.
cmd.CommandText = "insert into Employee (BADGE_ID, USER_ID, FNAME, LNAME,PLANNED_ALLOC, MANAGER, TEAM,CREATED,CREATED_BY,LAST_UPD,LAST_UPD_BY) values ( '" + bid + "', '" + uid + "', '" + fn + "', '" + ln + "', " + pa + ", '" + man + "', '" + team + "', '" + TO_DATE(dt.ToString(), "yyyy/mm/dd hh24:mi:ss") + "', '" + uid + "', '" + TO_DATE(dt.ToString(), 'yyyy/mm/dd hh24:mi:ss') + "', '" + uid + "')";

如何使用Oracle连接从asp.net C#Web表单将日期插入Oracle表

所以,在这种情况下,我会说让数据库来完成工作。在SQL语句中使用GETDATE()函数,服务器将格式化一个完整的时间戳并将其粘贴在其中。

"TO_DATE"位是PL/SQL的一部分(它是c#命令的一部分),因此它应该是"CommandText"字符串的一部分。

所以你想要这样的东西:

    cmd.CommandText = "insert into Employee (BADGE_ID, USER_ID, FNAME, LNAME,PLANNED_ALLOC, MANAGER, TEAM,CREATED,CREATED_BY,LAST_UPD,LAST_UPD_BY) values ( '" + bid + "', '" + uid + "', '" + fn + "', '" + ln + "', " + pa + ", '" + man + "', '" + team + "', '" + TO_DATE(dt.ToString(), "yyyy/mm/dd hh24:mi:ss") + "', '" + uid + "',  TO_DATE(dt.ToString(), 'yyyy/mm/dd hh24:mi:ss') + ', '" + uid + "')";

[注意,我已经删除了"(语音标记),它将TO_DATE从实际命令字符串中删除]。

所以,如果你明白我的意思,它必须在"交给"甲骨文的字符串中。

谨致问候,Mike