在前面介绍了access数据库的相关操作,这里介绍一下查询条件为变量的情况,比如用户从DataTimePicker控件中获取时间,传入时间,查询某一些时间段的数据
当查询条件为变量时,SQL语言其实与常量一样,关键是格式问题,说具体点就是当数据库字段为数字或者文本时引号的摆放与拼接问题,
一.输入查询变量
1.数据字段为数字类型
查一个值
int num1 = 1;
oleDapAdapter = new OleDbDataAdapter("select * from dictionary where monthValue ="+num1+"", conn); //用加号和引号括起来
oleDapAdapter.Fill(ds);
范围查询
int num1 = 1;
int num2 = 4;
oleDapAdapter = new OleDbDataAdapter("select * from dictionary where monthValue between "+num1+"and "+num2+"", conn); //数字变量用双引号即可
oleDapAdapter.Fill(ds);
求和
int num1 = 1;
int num2 = 4;
oleDapAdapter = new OleDbDataAdapter("select SUM(NumValue) from dictionary where monthValue between "+num1+"and "+num2+"", conn);
oleDapAdapter.Fill(ds);
2.数据类型为文本类型
int num1 = 1;
int num2 = 4;
oleDapAdapter = new OleDbDataAdapter("select NumValue from dictionary where monthValue = '"+num1.ToString()+"'", conn); //注意是单引号,双引号一起使用
oleDapAdapter.Fill(ds);
范围查询,文本不推荐使用范围查询,注意格式即可
int num1 = 1;
int num2 = 4;
oleDapAdapter = new OleDbDataAdapter("select * from dictionary where monthValue between '" + num1.ToString() + "' and '" + num2.ToString() + "'", conn); //注意SQL语句的写法与引号的使用,单双引号的使用
oleDapAdapter.Fill(ds);