大家好,我是雷工! 本篇通过实例,介绍KingSCADA3.7访问SQL Server2022数据库。

一、概述

1、创建数据库及数据表格; 2、配置ODBC数据源。 3、通过KingSCADA与数据库建立连接,将数据写入数据库对应表格。

二、创建数据库

1、安装数据库 还没有安装数据库或准备安装数据库的小伙伴可以参考: 《【数据库】SQL Server2022安装教程》

2、打开SQL Server Management Studio ,在连接界面输入数据库所在的服务器IP或服务器名称。 身份验证可以选择“Windows身份验证”或“SQL Server身份验证”,此样例选择的是“服务器名称”即本计算机的设备名称,可在系统信息处查看你计算机的名称。登录名“sa”,密码输入你安装时设置的登录密码。

3、创建数据库 3.1、连接上服务器后,选中“数据库”,右击,选择“新建数据库”选项。

3.2、在“数据库名称”处输入“SCADASQL”,点击“确定”按钮,就创建了一个名为“SCADASQL”的数据库。

3.3、在“SCADASQL”下“表”上右击选择“新建”->“表”创建一个名为“WXD”的数据表。 表结构可以参考《【数据库】SQLServer报修表,维修表,反馈表三表连查》设置。

三、配置ODBC数据源

1、通过“控制面板”->“所有控制面板项”->“Windows工具”打开ODBC数据源管理器。

2、选择“系统DSN”,点击“添加”按钮。

3、选择数据源驱动程序“SQL Server”,点击“完成”按钮。

4、为数据源命名“kssql1”,在服务器处输入IP地址或设备名称。 注意:IP处可以输入需要的IP地址,本机可复制输入本机设备名,如果点击下拉按钮会卡死,未响应,等待时间较长。

5、选择“使用用户输入登录ID和密码的SQL Server验证”,输入登入ID:sa ;密码输入你设置的密码;点击“下一步”。

6、可改默认数据库为你需要连接的数据库,此处改为“SCADASQL”,然后点击“下一步”。

7、不做修改,直接点击“完成”按钮。

8、弹出如下窗口,可点击“测试数据源”按钮。测试是否可以连上SQLServer数据库。

9、稍等片刻,弹出链接数据测试结果,显示“测试成功”,点击“确定”按钮,完成数据源创建。

10、在ODBC数据源管理程序窗口显示新建数据源“kssql1”,点击“确定”,关闭当前窗口。

四、KingSCADA连接SQL Server并插入数据

1、新建工程

2、创建一个画面

(新建工程和新建画面步骤可参考SCADA手册,此处采用现成的项目演示此功能。)

3、编辑按钮脚本

脚本实现功能为先获取界面输入框的内容是否输入完整,然后获取界面输入的信息,编辑SQL插入语句,链接数据库将数据插入对应的数据库表格。

按钮脚本代码如下:

int a=ShowMessageBox("请检查录入信息是否正确,确认录入请点击确定", "提示", 1,4);

if(a==1)

{

//获取输入框信息

string wxdh=wxdh.Text;//获取单号

string wxbxtime=wxbxtime.Text;//获取报修时间

string wxsbname=wxsbname.Text;//获取设备名称

string wxzby=wxzby.Text;//获取值班员

string wxbzz=wxbzz.Text;//获取班组长

string wxbxr=wxbxr.Text;//获取报修人

string wxwtms=wxwtms.Text;//获取问题描述

string wxjbtime=wxjbtime.Text;//获取接报时间

string wxjbr=wxjbr.Text;//获取接报人

string wxxfr=wxxfr.Text;//获取修复人

string wxxftime=wxxftime.Text;//获取修复时间

string wxysr=wxysr.Text;//获取验收人

string wxwxr=wxwxr.Text;//获取维修人

string wxgzfx=wxgzfx.Text;//获取故障分析

if(wxdh==""||wxbxtime==""||wxsbname==""||wxzby==""||wxbzz==""||wxbxr==""||wxwtms==""||wxjbtime==""||wxgzfx==""||wxxfr==""||wxxftime==""||wxysr==""||wxwxr==""||wxgzfx=="")

{

ShowMessageBox("信息录入不完整,请填写后再录入!", "提示", 0,4);

return;

}

string sql="insert into WXD Values('"+wxdh+"','"+wxbxtime+"','"+wxsbname+"','"+wxzby+"','"+wxbzz+"','"+wxbxr+"','"+wxwtms+"','"+wxjbtime+"','"+wxjbr+"','"+wxxfr+"','"+wxxftime+"','"+wxysr+"','"+wxwxr+"','"+wxgzfx+"')";

bool res,res1;

res=/*bool*/ KDBExecuteStatement("DSN=kssql1;DATABASE=SCADASQL;UID=sa;PWD=admin@123;",sql);

if(res==0)

{

KDBDisConnect( "bx");

KDBGetConnectID( "bx", "DSN=kssql1;DATABASE=SCADASQL;UID=sa;PWD=admin@123;");

res1=KDBExecuteStatement("DSN=kssql1;DATABASE=SCADASQL;UID=sa;PWD=admin@123;",sql);

if(res1==0)

{

ShowMessageBox("录入数据失败,请确认设备信息是否已录或网络不通!", "提示", 0,1);

return;

}

}

ShowMessageBox("录入数据成功", "提示", 0,0);

}

4、运行项目

4.1、操作步骤

在输入界面输入要插入的信息,点击“入录”按钮。

4.2、效果演示

填写信息并录入演示

SQL数据查询演示

后记

以上为KingSCADA连接SQLServer并插入数据的详细过程,通过与数据库的连接存储,将采集的信息和数据存入SQL数据库,可以更轻松的实现与现有或规划中的MES和ERP系统相集成,从而使数据能够通过整个组织无缝流动。

推荐阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。