开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 6286|回复: 48
收起左侧

[易源码分享] 巧用类_ODBC数据库解决外部数据库sqlserver查询慢超时的问题

[复制链接]
结帖率:100% (1/1)
发表于 2021-9-16 21:13:51 | 显示全部楼层 |阅读模式   上海市上海市
分享源码
界面截图: -
是否带模块: 调用了模块
备注说明: -
本帖最后由 全哥 于 2021-9-16 21:28 编辑

大家好,最近在研究公司里的畅捷通T+系统,里面的质检入库功能,想单独做一个读取每天入库产量的工具,最后发现数据库里的3个数据表即可实现 ST_RDRecord 单据信息表 , ST_RDRecord_b 入库记录信息表 , AA_Inventory 物料信息表。
数据表知道了,接下来就是写代码实现了,最开始用的是 外部数据库 ,代码写好,发现一个很严重的问题,因为数据量太庞大,查询非常慢,需要几十秒或者几分钟才能完成查询,这样严重导致 外部数据库 查询不出来,最后经过测试,外部数据库的超时时间是15秒, 换成 数据库连接,也是不行,这2种方法,都不能自主设置超时时间。
不经意间,看到 精益模块自带的有个 类_ODBC数据库 ,并且他有设置超时时间的功能,所以,代码就换成类_ODBC数据库,测试成功了,今天呢,分享给大家。

(本文关键词:适用于百度收录,让更多的人解决该问题。sqlserver查询超时,sqlserver数据库连接超时,sqlserver查询慢,外部数据库查询超时,连接外部数据库查询超时,类_ODBC数据库,类_ODBC数据库用法,类_ODBC数据库怎么读取记录,类_ODBC数据库怎么循环读取记录,类_ODBC数据库咋用,类_ODBC数据库设置超时,类_ODBC数据库查询超时,外部数据库设置超时时间,易语言外部数据库,外部数据1超时失败)


20210916203517.jpg

另外在分享给大家一个多表查询和as用法的知识点,因为我多年来只会简单的select,也因为这次的研究,才学会了sql高级用法里的一项
  
sql = “select b.code as billcode,c.code,c.name,c.specification,a.quantity,a.InvBarCode,a.priuserdefnvc1,a.priuserdefnvc2,a.createdtime from ST_RDRecord_b as a,ST_RDRecord as b,AA_Inventory as c where a.idRDRecordDTO=b.id and a.idinventory=c.id and a.createdtime between '2021-09-01 00:00:00' and '2021-09-03 23:59:59'”

这是3表联合查询的一个用法,要是以往,我可能需要嵌套循环,取一个数据 在查另外的表,用上面的语句,发现就是快捷。
20210916203622.jpg

此次案例数据 来源于 畅捷通T+ ,并根据保密性,将所有数据变动,改成一个案例分享给大家,并且由于畅捷通T+是用的sql数据库, 为了分享给大家,特意将案例数据做成mdb格式
案例里有2种查询方法, 类_ODBC数据库  和 外部数据库


因为只是案例,并且只做了很少的数据在mdb里,所以,查询是非常快的,  但是这个案例主要还是侧重,大型数据查询慢,查询超时,其他方法都实现不了,只能用 类_ODBC数据库 来实现。
VX截图_20210916210406.png



另外,类_ODBC数据库 怎么循环读取记录和跳出循环,他本身没有一个非常好的命令,大家可以看我的操作,怎么巧妙利用死循环来读取所有记录
VX截图_20210916210300.png



另外,本案例又用到了   超级列表框 同规格内容 合并,并且产量累加的 算法, 我之前分享过一个历程
VX截图_20210916210557.png

本案例,代码里都有详细的解释,非常适合初学者


所有源码和mdb会一块打包上传


源码下载点击这里:
类_ODBC数据库使用案例.7z (216.08 KB, 下载次数: 208)

评分

参与人数 5好评 +2 精币 +10 收起 理由
执骨哟 + 1 支持开源~!感谢分享
ghost12 + 1 支持开源~!感谢分享
kyo9766 + 2 感谢分享,很给力!~
易语言资源网 + 1 + 3 支持开源~!感谢分享
冰点 + 1 + 3 感谢分享,很给力!~

查看全部评分


结帖率:0% (0/1)

签到天数: 19 天

发表于 2024-8-19 16:45:55 | 显示全部楼层   上海市上海市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2024-6-5 14:12:33 | 显示全部楼层   江苏省连云港市
6666666666666666666
回复 支持 反对

使用道具 举报

发表于 2024-4-25 17:03:23 | 显示全部楼层   湖北省孝感市

好东西,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2024-1-7 11:25:51 | 显示全部楼层   广东省广州市
能连accsee不
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-9-16 14:22:12 | 显示全部楼层   陕西省安康市
好东西,谢谢分享
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-9-16 12:46:03 | 显示全部楼层   陕西省安康市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

签到天数: 7 天

发表于 2023-4-25 09:56:40 | 显示全部楼层   江苏省常州市
好东西,谢谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-3-29 20:04:11 | 显示全部楼层   广东省佛山市
好东西,谢谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)

签到天数: 14 天

发表于 2023-3-16 17:53:45 | 显示全部楼层   河南省洛阳市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

签到天数: 4 天

发表于 2022-11-7 13:32:30 | 显示全部楼层   江苏省常州市
感谢分享。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表