【问题标题】:How can insert specific datetime into database from dateTimePicker C#如何从 dateTimePicker C# 将特定的日期时间插入数据库
【发布时间】:2017-11-05 20:59:45
【问题描述】:

我已经创建了一个表

CREATE TABLE table_dt(
c_id NUMBER,
c_dt DATE);

使用以下命令更改日期格式:

> ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY HH:MI:SS: AM';

并插入一些值

INSERT INTO table_dt(c_id,c_dt) values(06,TO_DATE('05/11/2017 9:22:00 AM', 'MM/DD/YYYY HH:MI:SS AM') );
INSERT INTO table_dt(c_id,c_dt) values(07,TO_DATE('06/11/2017 4:02:00 AM', 'MM/DD/YYYY HH:MI:SS AM') );
INSERT INTO table_dt(c_id,c_dt) values(08,TO_DATE('07/11/2017 3:30:00 PM', 'MM/DD/YYYY HH:MI:SS AM') );

这个数据插入得很好!

现在,当我尝试从 textBox1 和 dateTimePicker1 插入数据时,我无法插入它 我正在使用代码:

 OleDbDataAdapter adp = new OleDbDataAdapter("insert into
 table_dt(c_id,c_dt) values('" + textBox1.Text + "',TO-DATE('" +
 dateTimePicker1.Value.Date+"','DD/MM/YYYY HH:MI:SS AM')", con);
 adp.SelectCommand.ExecuteNonQuery();

我分享了我的屏幕

【问题讨论】:

  • 使用参数,很多问题都会烟消云散
  • NET OleDB 提供程序完全能够接受 DateTime 类型参数,而无需传递文本和格式。另请阅读How to Ask 并获取tour - 我们需要错误文本而不是错误消息的(小)图片。
  • @SirRufo 请举个例子,我是 C# 的初学者
  • @khan 问谷歌。网络上有无数的教程、示例和已回答的问题
  • 这里有数千个使用参数的例子。开启你的 google-fu

标签: c# oracle datetime datepicker


【解决方案1】:

首先你应该使用参数化查询而不是字符串连接。您的查询很容易受到 sql 注入攻击。 oracle中没有“TO-DATE”这样的功能,试试“TO_DATE”吧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-25
    • 2019-10-06
    • 2018-05-18
    • 2011-07-14
    • 2010-12-28
    相关资源
    最近更新 更多