Non-negative number required. (Parameter 'count') 返回
代码很简单:
var dt = _bizDb.Ado.GetDataTable(sql);
查询的sql为:
SELECT concat_ws('_',officeid,tenantid,id) BizKey,ifnull(DATE_FORMAT(advicesendtime,'%Y-%m-%d %T'),'') as 'advicesendtime',appointid,batchnumber,category,channel,creatorid,creatorname,delay,doctorid,doctorname,ifnull(DATE_FORMAT(examdatetime,'%Y-%m-%d %T'),'') as 'examdatetime',examdoctorname,ifnull(DATE_FORMAT(executetime,'%Y-%m-%d %T'),'') as 'executetime',executorid,executorname,followupruleid,follupruleactionid,isinactive+0 as 'isinactive',lastvisitresult,notes,otherproviderid,otherprovidername,pid,DATE_FORMAT(recordcreatedtime,'%Y-%m-%d %T') as 'recordcreatedtime',recordcreateduser,DATE_FORMAT(recordtimestamp,'%Y-%m-%d %T') as 'recordtimestamp',ifnull(DATE_FORMAT(recordupdatedtime,'%Y-%m-%d %T'),'') as 'recordupdatedtime',recordupdateduser,recordversion,satisfaction,sourceid,sourcetype,status,subject,visitcontent,ifnull(DATE_FORMAT(visitdatetime,'%Y-%m-%d %T'),'') as 'visitdatetime',visitresult from followup WHERE date_format(RecordCreatedTime,'%Y-%m-%d')>date_format(DATE_ADD(NOW(),INTERVAL -3 DAY),'%Y-%m-%d') and RecordCreatedTime is not null and RecordCreatedTime!=''and tenantid='3a3f-4fe6-9fe3' and officeid in (192,193)
具体报错如下:
2020-11-16 15:29:44.5101 | Error | System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'count')
at SqlSugar.AdoProvider.GetDataSetAll(String sql, SugarParameter[] parameters)
at SqlSugar.AdoProvider.GetDataTable(String sql, SugarParameter[] parameters)
at Ares.MonitorPlatform.WebApi.Controllers.OdsRowCheckController.GetMysqlSideEncryptResult(RowCheckRuleRequest request) in D:\Projects\Ares.MonitorPlatform\Ares.MonitorPlatform.WebApi\Ares.MonitorPlatform.WebApi\Controllers\OdsRowCheckController.cs:line 776
at Ares.MonitorPlatform.WebApi.Controllers.OdsRowCheckController.RunValidationRule(RowCheckRuleRequest request) in D:\Projects\Ares.MonitorPlatform\Ares.MonitorPlatform.WebApi\Ares.MonitorPlatform.WebApi\Controllers\OdsRowCheckController.cs:line 530
at Ares.MonitorPlatform.WebApi.Controllers.OdsRowCheckController.RunBatchValidationRules(List`1 apps, List`1 batchValidationRules) in D:\Projects\Ares.MonitorPlatform\Ares.MonitorPlatform.WebApi\Ares.MonitorPlatform.WebApi\Controllers\OdsRowCheckController.cs:line 409
at Ares.MonitorPlatform.WebApi.Controllers.OdsRowCheckController.<Run>b__2_0() in D:\Projects\Ares.MonitorPlatform\Ares.MonitorPlatform.WebApi\Ares.MonitorPlatform.WebApi\Controllers\OdsRowCheckController.cs:line 66
热忱回答(23)
-
道叙 VIP0
2020/11/16补充下,查询数据库为msyql
0 回复 -
道叙 VIP0
2020/11/16原因已找到: sqlsugar 5.0.1以及以上版本(只验证了5.0.1.3)会有此问题
在sqlsugar 5.0.0.15版本中无此问题。。。困扰了我两天时间。。。
烦请大佬及时修复掉.
0 回复 -
fate stay night VIP0
2020/11/160 回复 -
fate stay night VIP0
2020/11/16还你的sql太复杂了,你可以把你的SQL慢慢的简化进行测试,条件和查询列一个一个删掉进行测试排查,直到一眼知道哪个地方出的问题
0 回复 -
道叙 VIP0
2020/11/16OK,多谢大佬指点,我从三个层面查一下, 晚点回复结果.
.net core 是3.1的版本,mysql并未手动引入,用的应该是sqlsugar自带的版本,查了服务器上是8.0.22版本
0 回复 -
道叙 VIP0
2020/11/17我来回帖啦,楼主,今天刚验证了 使用.net core 3.1+ sqlsugarcore 5.0.0.15+Mysql 8.0.15是好的,其中mysql并未手动引入,使用的是sqlsugar框架自带
测试了.net core 2.1和.net 2.2都不会有影响,sqlsugarcore的版本会有影响,感觉可能是Mysql 版本的问题.
我使用了sqlsugarcore 5.0.0.15+Mysql 8.0.22也是不行的.0 回复 -
fate stay night VIP0
2020/11/17
我在5.0.0.22更新了 mysq.data到8.0.22
0 回复 -
fate stay night VIP0
2020/11/17理论上来说驱动不兼容的语句肯定有非常特别的地方
0 回复 -
karqical VIP0
2020/11/17我也发生这个问题
0 回复 -
karqical VIP0
2020/11/17问题加载源码,在下面:
Task<List<T>> <T>SqlSugarProvider contextIDataReader dataReaderType type = TfieldNames = dataReadercacheKey = typefieldNamesIDataReaderEntityBuilder<T> entytyList = context...cacheKey=> cacheResult = IDataReaderEntityBuilder<T>contextdataReaderfieldNames.typecacheResultList<T> result = List<T>dataReader == resultDbDataReaderdataReader.result.entytyList.dataReaderException exCheck.ErrorMessage.ex.result
0 回复 -
karqical VIP0
2020/11/17方法名称:SqlSugar.DbBindAccessory.GetEntityListAsync 这里报这个错误
0 回复 -
道叙 VIP0
2020/11/17@fate stay night: 是的,我也注意到这点了,8.0.0.22的确有mysql.data的更新
0 回复 -
道叙 VIP0
2020/11/17@fate stay night: 我记得当时测试了很简单的sql,也有报错,明天我再验证一下,再来回复.
0 回复 -
道叙 VIP0
2020/11/17@karqical: 这个要咋解决, 是框架问题,还是我要通过升级版本来解决?
0 回复 -
fate stay night VIP0
2020/11/17@道叙:这个是mysql 驱动的问题并且也是最新版本 8.0.0.22, 暂时无法解决,只能你自已排查你的SQL哪个字段或者条件引起的错误
0 回复 -
fate stay night VIP0
2020/11/17因为我既然升级了驱动,不可能在去降级驱动,你能做的就是 找出你的SQL为什么会出错,不是非常诡异的SQL 驱动是不会报错,或者你能告诉我 不是驱动的问题是 sqlsugar哪个地方引起的
0 回复 -
fate stay night VIP0
2020/11/17简单来说就是给我一个能重现的DEMO也可以
0 回复 -
fate stay night VIP0
2020/11/17@fate stay night:直接发我就行了
0 回复 -
fate stay night VIP0
2020/11/18还有一点看一下你们的连接字符串 是不是最简方式
server=localhost;Database=SqlSugar4xTest;Uid=root;Pwd=haosql
有些用户写的一些乱七乱八的配置导致引起的问题
0 回复 -
道叙 VIP0
2020/11/18@fate stay night:好的, 我这边暂时通过sqlsugar降级能解决.
0 回复 -
道叙 VIP0
2020/11/18@fate stay night:OK,稍晚点我发给您Demo
0 回复 -
karqical VIP0
2020/11/18问题我找到了,由于在数据模型实体中添加了 public Guid? CreatedUserId { get; set; },当数据库存储的值为null 时,映射失败。添加
[SugarColumn(IsNullable = true)] 映射也失败。数据库默认映射为char(36),将数据库的char(36)修改为varchar(36),错误消失
0 回复 -
道叙 VIP0
2020/11/20@karqical: 厉害了,那我这边想要用最新版本需要哪些改动?
0 回复