连接ACCESS数据库时,查询使用take查询报错 返回
正常查询没有问题,但使用take的时候就报错
Exception: System.Exception: sqlite page need primary key , entity name: Trade
在 SqlSugar.Access.AccessQueryBuilder.ToSqlString()
在 SqlSugar.QueryableProvider1._ToSql() 在 SqlSugar.QueryableProvider
1.ToSql()
在 SqlSugar.QueryableProvider1.ToSql() 在 SqlSugar.QueryableProvider
1.ToDataTable()
我是单表查询
SqlSugar 版本 5.1.4.157
SqlSugar.Access 版本: 5.1.4.143
数据库连接字符串
Provider=Microsoft.Jet.OleDb.4.0;Data Source={host};Jet OLEDB:Database Password='{pass}';
数据库版本: 2002-2003文件格式
热忱回答(27)
-
fate sta VIP02024/5/31
我测试是可以的,需要提供DEMO,也可能是你的版本太低了 我这边Microsoft.ACE.OleDB.16.0
0 回复 -
☆№^※§ VIP02024/5/31
我用的4.0的
0 回复 -
☆№^※§ VIP02024/5/310 回复
-
☆№^※§ VIP02024/5/31
写原生sql 是可以执行的,我这边测试过
0 回复 -
fate sta VIP02024/5/31
@☆№^※§:ORM也只是执行SQL,你试试 db.ado.sqlquery<T>("select xxxx" ) 用SQL试试 看一下2者SQL有没有差异
0 回复 -
fate sta VIP02024/5/31
好像确实存在BUG我这个处理一下
0 回复 -
fate sta VIP02024/5/31
我测试了原生也不行。只要有orderby就 top就失效
0 回复 -
fate sta VIP02024/5/31
var xx=db.Queryable<Order>().OrderBy(it=>it.Id).Skip(0).Take(20).ToList();
只支持主键排序
0 回复 -
☆№^※§ VIP02024/5/31
我这边目前用的这种方式执行的,是可以的,你这边修复好后发包回复一下
var
dt=db.Ado.GetDataTable(
"select top 100 * from table order by id "
,
0 回复 -
fate sta VIP02024/6/1
更新过了,只能主键排序take
0 回复 -
☆№^※§ VIP02024/6/3
不能添加其它排序支持吗? 原生sql是可以支持各种排序的
0 回复 -
☆№^※§ VIP02024/6/3
目前take是可以了 ,但排序确实不行,这样也影响正常使用,还是得写原生sql
0 回复 -
fate sta VIP02024/6/3
@☆№^※§:有Take 我原生SQL都不支持非主键之外的排序,你是怎么做到支持的。
0 回复 -
fate sta VIP02024/6/3
还是说你只是排序不进行TAKE
0 回复 -
fate sta VIP02024/6/3
我这边测试一切正常,还有疑问提供可以的SQL和不可以的代码
0 回复 -
fate sta VIP02024/6/3
你给的SQL是按主键排序的,所以ORM也是支持的,你可以用SQL按非主键进行测序测试
ACCESS中
只要有
top+非主键排序 ,结果都是错的
0 回复 -
☆№^※§ VIP02024/6/3
在我发的demo中,只要添加排序执行就会报错,只是Take可以执行,执行原生sql就可以
var dt = ins.Ado.GetDataTable("select top 100 * from Trade order by LastDateTime desc,id desc");
这句执行就没有问题
0 回复 -
fate sta VIP02024/6/3
@☆№^※§:我知道了你排序中包含了主键
0 回复 -
fate sta VIP02024/6/3
我看一下
0 回复 -
fate sta VIP02024/6/3
-
0 回复 -
fate sta VIP02024/6/3
我测试了只要带上主键排序都对的
0 回复 -
fate sta VIP02024/6/3
排序一样要带上主键
0 回复 -
☆№^※§ VIP02024/6/3
是我的数据库版本比较低的原因? 您这边用我的demo试试能不能运行
0 回复 -
fate sta VIP02024/6/3
@☆№^※§: 你实体没有配置主键
0 回复 -
☆№^※§ VIP02024/6/3
这个?
0 回复 -
☆№^※§ VIP02024/6/3
webfirst里面为什么没有自动添加主键? 没有主键为啥就不行
0 回复 -
☆№^※§ VIP02024/6/3
可以了 我这边数据库设置未设置主键 谢谢
0 回复