labview数据库查询mysql_Labview查询数据库及调试

本文介绍了一个使用LabVIEW进行MySQL数据库查询的程序,包括查询界面设计和事件处理。通过示例展示了如何生成SQL语句,处理空条件,格式化日期,以及解决查询结果残留等问题。在调试过程中,遇到的错误包括SQL语句语法错误和界面显示异常,这些问题通过增加条件判断和初始化操作得到了解决。
摘要由CSDN通过智能技术生成

做完SQLite的Labview接口后,开始做Labview查询数据库的查询界面程序。界面的上部分是查询条件,点击查询按钮后,把查找的结果显示到中间的表格上,点击查询结果表格的条码栏,就会在下左表展开对应的测试项目及单项结果。如点击下边左表的测试项目列就会在下边右表展开所用的模块及测试时间,见下图。

b0a5762295cfb7ff6e55eaaba24f913d.png界面

程序框图,习惯用while+条件结构+事件结构做,做了4个事件,一是填完条件后点击查询按钮的事件:

0ed8899e2c8b88fdb4bfb78cd8ff0700.png查询按钮事件

查询按钮事件的要点在SQL语句的生成,一是查询条件多,二是有些是没用到,这时是空的,需要判定条件的字符串是否为空,为空真时就是空的字符串,假时,带有and的字符串,注意要用单引号括起来查询条件,还有要加空格,避免连接字符串时上下单词连了,SQLites识别不出来了会报错的,调试时也发现此问题。再有是要格式化日期字符串,因取到的字符串是带有日期时间的,我们只需要日期就好了。

点击查询结果产生鼠标点击事件,要注意取出鼠标点在表格的行和列,通过列比较,如果是在条码列才执行查询表格动作。

d4ec6ff7be47e7b51737d6cdf73aaa7b.png条码查询事件

下边左表的点击查询事件实现同中表的条码查询事件。只是列值和SQL语句不一样。

在调试过程中有几个bug,1是提表格中没有列;2是where附近有语法错误;3是每次运行都有上次查询结果在界面。

1、提示表格中没有列,对比了SQL命令字符串,与数据库是一样的,没办法加了个私服串显示控件,看是什么问题,结果发现因字符串太长了,用了分段连接,没有加空格,上下连成一个单词,软件认不出数据表了,见下图

75b3436f132eb08117abcbcbc7a33c40.png

2、是where附近有语法错误,通过字符串显示的SQL语句,发现是,where 后面直接连了and,在where 后面加1=1 再与and连接就不报错了。整个语句是select ID,Barcode,Mode,Department,WorkShop,Shift,Line,Station,JIGLoR,WorkOrderNumber,Op_UserID,TestModel,TestResult,TestDate,TestUseTime,Remark from tb_TestRecord_Barcode where and TestDate>='2020-04-21' and TestDate<='2020-04-23'。

3、就像开头那一幅图片 一样,每次运行都有上一次查询的结果“残留”,后面没办法,只好在初始化时给表格赋值个空数组。还有是日期控件,没初始化时显示的是字母“yyyy-mm-dd

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值