将 dateTimePicker 中的日期保存到 ms access 数据库中并搜索两个日期之间的记录

马诺杰·亚德瓦德

我有 ms 访问表“AddDate”。两列'Id' -Autonumber,'AddDate' -DateTime。

在 VS 2015 中,我有一个表单,其中有一个 dateTimePicker 来插入日期值。

我使用以下查询插入日期:

       conn.Open();string str = "Insert into AddDate ([AddDate]) Values(@AddDate)";
        OleDbCommand cmd = new OleDbCommand(str, conn);
        cmd.Parameters.AddWithValue("@AddDate", dateTimePicker1.Value.ToShortDateString());
        cmd.ExecuteScalar();
        conn.Close();

当我输入记录时,我想在两个日期之间搜索这些记录。为此,我有两个 datetimepicker,我使用以下代码进入 datagridview :

        OleDbDataAdapter odb = new OleDbDataAdapter("Select * from AddDate  where AddDate Between '"+dateTimePicker1.Value.ToShortDateString() + "' and '"+ dateTimePicker2.Value.ToShortDateString() + "' ", conn);
        DataTable dt = new DataTable();
        odb.Fill(dt);

        dataGridView1.DataSource = dt;

现在,如果 ms 访问表 AddDate 列设置为 DateTime,则选择查询将给出错误“条件表达式中的数据类型不匹配”。如果我将列 DataType 属性更改为 ms access 表中的文本,则查询会起作用,但它会从表中收集两个日期之间的所有记录,而不管月份如何。

请用示例和完整代码解释。还要在 MS Access 2010 中指定 DataType 属性。

预先感谢。

问候Manoj Yadwad。

古斯塔夫

日期不是字符串,因此:

cmd.Parameters.AddWithValue("@AddDate", dateTimePicker1.Value);

但要连接,您必须格式化为有效的日期表达式:

OleDbDataAdapter odb = new OleDbDataAdapter("Select * from AddDate where AddDate Between #" + dateTimePicker1.Value.ToString("yyyy'/'MM'/'dd") + "# and #" + dateTimePicker2.Value.ToString("yyyy'/'MM'/'dd") + "#", conn);

最好在这里也使用参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Springboot将日期保存到数据库1天

用Carbon将日期保存到数据库中

将日期时间保存到Spark中的Parquet中

如何使用C#仅将日期(不包括时间)插入ms Access数据库

使用FireDac仅将日期插入MS Access数据库

Delphi SQL如何将数据添加到MS Access数据库表中的特定记录中

从MS Access数据库获取日期时出错?

如何使用C#从MS Access数据库的两个以上表中检索数据

尝试在1个定义内将两个记录保存到数据库

用两个模型将数据保存到两个数据库表中

使用VB.net/MS Access查询两个日期之间的记录

将Complete RecordSet插入到其他数据库MS Access中的另一个表

将日期值插入MS Access

如何使用C#和SQL将日期添加到列类型为“日期/类型”的MS Access数据库中?

两个日期之间的总收入不起作用C#MS Access数据库

在C#中按日期从MS Access数据库中选择数据

Datetimepicker值不能存储在Access数据库中

MS-Access,两个日期之间的天数,基于一个值

将文本框中的数据保存到 MS Access 数据库

将 MS Access Form 日期传递到 Oracle SQL

在两个日期之间选择 MS Access 和 php

将字符串转换为 TimeSpan 并将其保存到 MS Access 数据库

C#.net 无法将记录插入到 ms access 数据库中

无法将数据保存到我的 Access 2007 数据库中

C# 在 Datagridview 中显示两个日期之间的数据。来自 DatetimePicker 或 Textbox 的日期

将公式从 MS Access 数据库导入 MS Excel

如何在ms access数据库中按单个日期搜索?

将表中的日期转换为 MS Access 查询中的列

在两个日期之间过滤 MS Access