首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

access条件查询有关问题,求大侠给予指点,多谢

2013-08-09 
access条件查询问题,求大侠给予指点,谢谢数据库中有四个字段,其中反应釜、温度值为数值类型,日期和时间为文

access条件查询问题,求大侠给予指点,谢谢

数据库中有四个字段,其中反应釜、温度值为数值类型,日期和时间为文本类型,
我想按反应釜数值 和日期查询,我的代码如下:


  private void kettleInquire()
        {
           strDate = this.dtpDate.Value.ToShortDateString();//获得日期datetimepicker
           intNum = int.Parse(cbxNum.Text);//获得反应釜数值
             string strSQL = "select * from tb_Data where 日期='" + strDate + "' and 反应釜='"+intNum+"'";
            DataSet ds = dataoperate.getDs(strSQL, "tb_Data");
            dataGridView1.DataSource = ds.Tables["tb_Data"];

        }

执行后,程序提示,数据类型不匹配。 数据库 access C#
[解决办法]
你数据库中的日期为文本类型,但是你穿进去的值为datetime类型,在sql位置设置断点应该可以看到你的?strDate变量大概是"jun wed 8:30:36 2013/08/06"样子的。。所以当运行的时候类型不匹配。建议解决办法数据库改成date类型,或者将?strDate变量改成跟数据库日期存储一致的格式,然后转换成字符串进行查询。。
另外intNum = int.Parse(cbxNum.Text);如果前台没有验证,cbxNum控件中用户不小心输入了非数字进行查询,你的程序会报错
[解决办法]

string strSQL = "select * from tb_Data where 日期=#'" + strdate+ "'# and 反应釜='"+intNum+"'";
 

热点排行