一、准备组态王

1.安装组态王软件 ,官网自行下载

二、安装 Microsoft SQL Server 2022 开发版  SQL Server 下载 | Microsoft    

 

  SQL数据库安装完成,接下来安装SSMS 管理器 

三、安装 Microsoft SQL Server Management Studio (SSMS)V20.0 , Microsoft官网下载链接https://learn.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017

下载完成后,开始安装

安装完成后;点击电脑左下角  “开始”  -  ''Microsoft SQL Server Management Studio V20.0 '' 打开数据管理器。

四、登录SQL Server数据库

1、登录SQL Server  

2、“数据库” 右键 -  ”新建数据库”

3、新建数据库名称:TestOne,   然后确定;

4、“数据库” - “TestOne” -“表” 右键 -“新建” -  “表”

5、将编号设置为主键 ,标识规范选“是”

6、采集日期 默认值为“Getdata()” 自动获取电脑时间;

7、点击“保存”  输入表名 “TestOneTable”,一会组态王,连接时 选择此表名;

五、创建ODBC数据源

1、开始-  运行  c:\Windows\SysWOW64\odbcad32.exe

2、ODBC数据源 添加

3、选择 “SQL Server”

3、新建数据源名称“Test20240728” , 然后选择SQL本地服务器

4、登录SQL 用户名 ,密码

5、选择刚才新建的SQL数据库名称“TestOne”

6、ODBC数据源 创建完成,测试成功!

六、创建组态王应用工程

1,新建一个画面,在画面命令语言中输入一下函数代码。

代码:SQLConnect( DeviceID, "dsn=Test20240728;uid=sa;pwd=1234");

       // SQLConnect( 自定义内存整数, "dsn=ODBC数据源名称;uid=SQL登录用户名称;pwd=SQL登录用户密码");

SQLConnect( DeviceID, "dsn=Test20240728;uid=sa;pwd=1234");
// SQLConnect( 自定义内存整数, "dsn=ODBC数据源名称;uid=SQL登录用户名称;pwd=SQL登录用户密码");

2,新建内存变量

3,新建记录体 ;特别注意,字段名称要与SQL数据库表中的列名保持一致性,否则会连接不成功。

4,在画面中建立一个“数据插入”按钮

代码:SQLInsert( DeviceID, "TestOneTable", "record"  );

        // 在SQL数据库''TestOneTable''表中插入一条记录,记录体名record

5、模拟测试运行后,新增加一条数据

  数据库查询代码:

use TestOne
go

Select*from  dbo.TestOneTable

6、组态王与数据库连接成功,表格模板正确载入;

七、组态王创建SQL数据库查询

1、插入通用控件KVADODBGrid Class  拖出来   并将其命名为"KVD"

2、右击控件打开控件属性 ,“数据源” -  “浏览 ”  -“Microsoft OlE DB Provider for ODBC Drivers”-  “下一页”

3、选择刚创建的ODBC数据源名称“Test20240728”; 登录SQL 用户名 密码;选择SQL新建的数据库名称;测试连接

4、测试连接成功!

5、选择SQL数据库刚创建的表名称“TestOne Table” , 然后点击“应用”

6、新建“数据查询”按钮输入代码

代码:KVD.Where=""; // 代表全部查询 KVD.FetchData();

7、模拟运行,测试 "查询成功"

八、组态王创建SQL数据库时间查询

1、先插入两个通用控件 Microsoft Date and Time Picker Control 6.0 (SP4),并重新命名。

分别创建 “StartDate”  、“StopDate”  2个控件

2、创建一个“时间查询”按钮,输入代码

string StartY;
string StartM;
string StartD;
string StopY;
string StopM;
string StopD;
string StartDateTime;
string StopDateTime;


StartY=StrFromInt(StartDate.Year, 10 );
StartM=StrFromInt(StartDate.Month, 10 );
StartD=StrFromInt(StartDate.Day, 10 );
StopY=StrFromInt(StopDate.Year, 10 );
StopM=StrFromInt(StopDate.Month, 10 );
StopD=StrFromInt(StopDate.Day, 10 ); 


StartDateTime="'"+StartY+"-"+StartM+"-"+StartD+"'";
StopDateTime="'"+StopY+"-"+StopM+"-"+StopD+"'";



KVD.Where="查询日期 between "+StartDateTime +"and" +StopDateTime ;
KVD.FetchData();

更多推荐