查询表的所有字段
string.Format("SELECT * FROM{0}", TableName);
查询表中的一个字段
在ACCESS中将字段用CStr()转换成字符串来判断
string.Format("SELECT* FROM {0} WHERE CStr({1})='{2}'", TableName, filed_name,filed_value);
查询日期
不考虑ACCESS数据库中的日期类型,直接用运行系统的Short Date类型,有些系统为”2011/1/11” 而有些系统为”2011/1/11 星期几”,这与系统内设置日期和时间的格式有关,使用FORMAT将字段转换为字符串比较,使用LIKE进行模糊查询而不考虑后边的时间
string.Format("SELECT * FROM {0} WHERE FORMAT({1},'Short Date') LIKE '%{2}%'", TableName, filed_name, DateTime.Parse(filed_value).ToShortDateString());
―――――――――――――――――――――――――――――――――――――――
查询日期区间
在ACCESS中日期的值必须加上”#”,而SQL中为要换成‘单引号,(而上边的例子,是以字符串来比较所以不用考虑)
这里我使用了字符串数组来获得日期,以防止在有些系统上出现星期几,经多次测试字符串出现‘星期几’会导致“Bwtween 提示语法错误”
string[] de1 = datatime_a.Split(' ');
string[] de2 = datatime_b.Split(' ');
string.Format("SELECT * FROM {0} WHERE [日期] Between #{1}# and #{2}# order by[日期]", TableName, de1[0] , de2[0])