这种怎么统计!!!!!!!!!!
字段:
Provider(供应商),Money(金额),Date(录入日期)
输入框:
txtProvider(供应商),txtBuyDate1(开始时段),txtBuyDate2(结束时段)
要求:
统计供应商配件供应额
================================
我写的:
shbSqlStr="select Provider,sum([Money]) as [Money] from PeiJianManage where Provider = '%"
+ txtProvider.Value.ToString().Trim() + "%' and Date > '%"
+ txtBuyDate1.Value.ToString().Trim() + "%' and '%"
+ txtBuyDate1.Value.ToString().Trim() + "%'< '%"
+ txtBuyDate2.Value.ToString().Trim() + "%'group by Provider";
出现:
标准表达式中数据类型不匹配。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
谁能给个详细点的代码吗?谢谢了!!!分不够再加!!!!!!!!!!!!!
问题点数:50、回复次数:15Top
1 楼shoutor(www.mouxiao.com)回复于 2005-04-04 15:15:06 得分 20
你的%是用来做什么的,全部去掉,涉及到数字的地方,把''去掉Top
2 楼tophifi(黑字先生)回复于 2005-04-04 15:38:47 得分 5
shbSqlStr="select Provider,sum([Money]) as [Money] from PeiJianManage where Provider = '%"
+ txtProvider.Value.ToString().Trim() + "%' and [Date] > #"
+ txtBuyDate1.Value.ToString().Trim() + "# and "
+ [Date] + " < #"
+ txtBuyDate2.Value.ToString().Trim() + "# group by Provider";
Top
3 楼honglin119(枫叶飘零)回复于 2005-04-04 16:05:44 得分 5
txtBuyDate1.Value.ToString().Trim()出来的是字符串,我觉得先把它转换为日期类型后在进行比较。
Top
4 楼startray(孙悟空庄重宣布:从现在开始,国民进入抗日非常时期!(即不买卖日本的一切东西))回复于 2005-04-04 16:12:57 得分 5
楼上几位说的正确
你试试行吗?Top
5 楼tangyy(tang)回复于 2005-04-04 16:23:27 得分 0
shbSqlStr="select Provider,sum([Money]) as [Money] from PeiJianManage where Provider = '%"
+ txtProvider.Value.ToString().Trim() + "%' and [Date] > #"
+ txtBuyDate1.Value.ToString().Trim() + "# and "
+ [Date] + " < #"
+ txtBuyDate2.Value.ToString().Trim() + "# group by Provider";
===================================================
+ [Date] + "的地方有错误!!Top
6 楼tangyy(tang)回复于 2005-04-04 17:02:47 得分 0
txtBuyDate1.Value.ToString().Trim()出来的是字符串,我觉得先把它转换为日期类型后在进行比较。
==========================================
怎么转换???Top
7 楼tangyy(tang)回复于 2005-04-04 17:16:13 得分 0
改为:
shbSqlStr="select Provider,sum([Money]) as [Money] from PeiJianManage where Provider = '%"
+ txtProvider.Value.ToString().Trim() + "%' and [Date] > "
+ txtBuyDate1.Value.ToString().Trim() + " and [Date] < "
+ txtBuyDate2.Value.ToString().Trim() + " group by Provider";
没有错误,但统计为空!!!Top
8 楼cuilj(一云忆水)回复于 2005-04-04 17:31:40 得分 5
shbSqlStr="select Provider,isnull(sum([Money]),0) as [Money] from PeiJianManage where Provider = '"
+ txtProvider.Value.ToString().Trim() + "' and [Date] > '"
+ txtBuyDate1.Value.ToString().Trim() + "' and [Date] < '"
+ txtBuyDate2.Value.ToString().Trim() + "' group by Provider";Top
9 楼honglin119(枫叶飘零)回复于 2005-04-04 17:39:05 得分 5
用基本的Convert.ToDateTime()试试Top
10 楼tangyy(tang)回复于 2005-04-04 19:15:49 得分 0
使用:
shbSqlStr="select Provider,isnull(sum([Money]),0) as [Money] from PeiJianManage where Provider = '"
+ txtProvider.Value.ToString().Trim() + "' and [Date] > '"
+ txtBuyDate1.Value.ToString().Trim() + "' and [Date] < '"
+ txtBuyDate2.Value.ToString().Trim() + "' group by Provider";
出现:
用于函数参数的个数不对 在查询表达式 'isnull(sum([Money]),0)' 中。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 用于函数参数的个数不对 在查询表达式 'isnull(sum([Money]),0)' 中。
Top
11 楼tangyy(tang)回复于 2005-04-04 20:29:57 得分 0
使用:
shbSqlStr="select sum([Money]) as [Money] from PeiJianManage where Provider = '%"
+ txtProvider.Value.ToString().Trim() + "%' and [Date] > "
+ txtBuyDate1.Value.ToString().Trim() + " and [Date] < "
+ txtBuyDate2.Value.ToString().Trim() + " group by Provider ";
没有错误,但统计为空!!!
Top
12 楼wangrenda(浪人)回复于 2005-04-04 20:50:37 得分 5
输出你的sql语句,或者到事件探察器中查看
自己看看什么条件不对,
字符查找用CHARINDEX,日期用DATEDIFFTop
13 楼tangyy(tang)回复于 2005-04-04 21:09:28 得分 0
是使用 Access 数据库的Top
14 楼tangyy(tang)回复于 2005-04-04 22:22:53 得分 0
使用:
shbSqlStr="select sum([Money]) as [Money] from PeiJianManage where Provider = '"
+ txtProvider.Value.ToString().Trim() + "' and [Date] > "
+ txtBuyDate1.Value.ToString().Trim() + " and [Date] < "
+ txtBuyDate2.Value.ToString().Trim() + " group by Provider ";
输入框有值时:
没有错误,但统计为空!!!
输入框没有值时:
语法错误 (操作符丢失) 在查询表达式 '[Date] > and [Date] <' 中。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 语法错误 (操作符丢失) 在查询表达式 '[Date] > and [Date] <' 中。
Top
15 楼tangyy(tang)回复于 2005-04-05 14:33:43 得分 0
使用:
shbSqlStr="select sum([Money]) as [Money] from PeiJianManage where Provider like '"
+ txtProvider.Value.ToString().Trim() + "' and [Date] > "
+ txtBuyDate1.Value.ToString().Trim() + " and "
+ txtBuyDate1.Value.ToString().Trim() + " < "
+ txtBuyDate2.Value.ToString().Trim() + " group by Provider ";
输入框有值时:
没有错误,但统计为空!!!
输入框没有值时:
语法错误 (操作符丢失) 在查询表达式 '[Date] > and [Date] <' 中。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 语法错误 (操作符丢失) 在查询表达式 '[Date] > and [Date] <' 中。Top




