哈喽,你好啊,我是雷工!
上次练习记录了《》,
本节在上节的基础上练习实现设备台账的录入功能。
以下为练习笔记。
01 效果演示①点击查询按钮,将SQLServer数据库的设备台账信息查询到,并填充到报表中。
②选中某条\行设备台账信息,点击【增加】按钮,将选中行的设备信息填充到设备录入界面。
02 实现步骤2.1、人机界面
首先完成界面的组态工作,主要是通过查询按钮,查询SQLServer数据库的设备台账数据,然后填充到报表内。
所以在界面先添加【查询】按钮,拖放一个报表控件。
2.2、报表控件
选中控件右击,选择【编辑】按钮,开始编辑设备台账的抬头部分和字段内容。
可通过报表工具栏对报表的单元格格式,合并单元格,设置字体等内容的设置。
2.3、函数介绍
介绍下查询功能用到的相关函数。
①KDBGetDataset函数
函数说明:
KDBGetDataset函数用来连接数据库,执行SQL查询命令,获得一个符合条件的数据集。
如果不是频繁访问数据库,建议使用KDBGetDataset()函数,该函数的特点是:连接一次数据库,执行一次SQL命令,执行完毕便断开与数据库的连接;
如果是频繁访问数据库,建议使用KDBGetconnectID()、KDBGetDataset1()、KDBDisConnect()系列函数,这三个函数是配套使用的,它通过连接句柄一直保持与数据库连接,直到执行KDBDisConnect()函数。
该函数的格式和参数说明在帮助文件内有详细的描述。
②KDBDisConnect函数
函数说明:
KDBDisConnect的功能是断开与数据库的连接。
函数格式及参数说明:
KDBDisConnect(string strConnectIDName)
该函数的参数是字符串类型,为与数据库连接的句柄名称。
③KDBGetConnectID函数
KDBGetConnectID用于连接数据库,获得一个连接句柄,并保持与数据库的连接和打开状态。
函数格式:
KDBGetConnectID(string与数据库连接的句柄名称, string数据库连接字符串)
④KDBGetDataset1函数
KDBGetDataset1用于通过连接句柄,从数据库中获取数据集,获取完毕后不断开和数据库的连接。
函数格式:
KDBGetDataset1(string数据集名称, string与数据连接的句柄名称, stringSQL查询语句)
2.4、查询脚本
在查询按钮上双击添加鼠标左键弹起事件,在事件脚本中编写查询设备台账信息填充到报表的功能脚本。
脚本如下:
string ConnectStr;string SqlStr;//通过ODBC方式连接SQLServer数据库的连接字符串ConnectStr="DSN=kssql1;DATABASE=SCADASQL;UID=sa;PWD=admin@123;";//SELECT 列名称 FROM 表名称SqlStr="select ID,Name,Workshop,Process,Person,Manufacturer,PurchaseDate,CommissioningDate,AgeLimit,WastageY,UpkeepCycle,RepairCycle,CurrentState,FilingDate,Remark from SC_SBTZ";Trace("SqlStr"+SqlStr);//调试函数,把SqlStr语句显示到信息窗口中bool res,res1;//数据集函数,执行SQL语句res=KDBGetDataset1("Dataset", "bx", SqlStr);if(res==0){KDBDisConnect("bx");//断开与数据库的连接,bx是与数据连接的句柄名称KDBGetConnectID("bx","DSN=kssql1;DATABASE=SCADASQL;UID=sa;PWD=admin@123;");//连接数据库,获得一个句柄res1=KDBGetDataset1("Dataset", "bx", SqlStr);if(res1==0){ShowMessageBox("查询数据失败,请确认数据库或网络是否正常!","提示",0,1);return;}}Report1.SetDataset2("Dataset",3,1); //将查询的结果显示在报表里2.5、运行测试
保存运行测试即可正常查询到设备台账信息,如有异常情况,可以在脚本中添加Trace调试函数,将可能异常的信息显示到信息窗口中,帮助排查问题。
03 后记以上为用KingSCADA实现设备台账的查询功能,另外还有一些细节功能,比如当点击增加按钮时弹出的信息窗口内的信息希望是在选中的某行信息,只要找到差不多的设备,修改个别参数即可,避免增加时弹出空白页,所有信息都需要填写。
例如,选中设备编号为a04的这行信息,然后点击增加按钮,弹出的设备录入界面中已经按选中行填充好,只需要改个别信息,然后点【录入】按钮即可将增加的设备信息存入数据库。该功能的实现方法在下节补充实现笔记。
以上为实现设备台账查询的最简单实现,实际项目中可能会更复杂,你做过哪些设备台账或相关的功能,有比较好的创意或高难度功能方法,欢迎在留言区评论,或在交流群探讨,互通有无,共同进步。