在C#中按日期从MS Access数据库中选择数据 [英] select data from ms access database by date in c#

查看:139
本文介绍了在C#中按日期从MS Access数据库中选择数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从C#中的ms Access数据库中选择数据,我使用此查询

i want to select data from ms access database in c# i use this query

da = new OleDbDataAdapter(
    "SELECT [Column1],[Column2],[Column3],[Date] from [Total] Where [Date] between #" 
        + dateTimePicker2.Value.ToString() 
        + "# AND #" 
        + dateTimePicker3.Value.ToString() 
        + "#", 
    VCON);

返回我为空 请帮助我.

it's return me null please help me.

推荐答案

您必须将日期格式设置为:

You must format date like :

dateTimePicker2.Value.ToString("yyyy/MM/dd")

您也可以:

da = new OleDbDataAdapter(
        "SELECT [Column1],[Column2],[Column3],[Date] from [Total] Where [Date] between "
            + dateTimePicker2.Value.ToString("#yyyy/MM/dd#")
            + " AND "
            + dateTimePicker3.Value.ToString("#yyyy/MM/dd#") ,
        VCON);

但是,我建议您使用Parameter避免SQL注入,例如:

But, I advice you to use the Parameter to avoid SQL injections , like this :

string query = "SELECT [Column1],[Column2],[Column3],[Date] from [Total] Where [Date] " +
               "BETWEEN @startDate AND @endDate";
OleDbCommand cmd = new OleDbCommand(query, VCON);
cmd.Parameters.AddWithValue("@startDate ", DbType.DateTime).Value = 
                                            dateTimePicker1.Value.ToString("yyyy/MM/dd");
cmd.Parameters.AddWithValue("@endDate ", DbType.DateTime).Value = 
                                            dateTimePicker2.Value.ToString("yyyy/MM/dd");
da = new OleDbDataAdapter(cmd);

这篇关于在C#中按日期从MS Access数据库中选择数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆