NBearLite 用MsAccess数据库时 Count() 的错误(BUG?)
先看出错信息:
语法错误 (操作符丢失) 在查询表达式 'COUNT([Messages].[Id]) [COUNT_Messages_Id]' 中
messagesCount = (int)DBService.Select(GuessBookTableColumns.Messages,GuessBookTableColumns.Messages.Id.Count()).Where(where).ToScalar();
![](/Images/OutliningIndicators/None.gif)
"SELECT COUNT([Messages].[Id]) [COUNT_Messages_Id] FROM [Messages]"
![](/Images/OutliningIndicators/None.gif)
数据库文件:*.mdb
C#代码为:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
NBearLite生成的cmd.CommandText 为:
![](/Images/OutliningIndicators/None.gif)
此SQL语句在SQL中是可以正确执行的,但是在MsAccess中就必需加入 AS 才能正确执行,即:
"SELECT COUNT([Messages].[Id]) AS [COUNT_Messages_Id] FROM [Messages]"
注:此语句在SQL中也可以执行
我测试的是这样的,如有错误,请指正!
![](http://pic002.cnblogs.com/img/QLeelulu/200908/2009080113232717.jpg)
作者:QLeelulu
出处:http://QLeelulu.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利
![Follow QLeelulu on Twitter](http://twitter-badges.s3.amazonaws.com/follow_me-a.png)
出处:http://QLeelulu.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利