组态中怎么使⽤mysql数据库,组态王写⼊MySQL数据库
涉及部分概念,如下:
记录体
记录体⽤来连接表格的列和组态王数据词典中的变量。选择⼯程浏览器左侧⼤纲项“SQL访问管理器⽂件\记录体”,在⼯程浏览器右侧⽤⿏标左键双击“新建”图标,弹出对话框如下图所⽰。该对话框⽤于建⽴新的记录体。
image.png
记录体名:记录体的名称,长度不超过32个字符;
字段名称:数据库表格中的列名,长度不超过32个字符;
变量:与数据库表格中指定列相关联的组态王变量名称。点击右边“?”按钮,弹出“选择变量名”窗⼝,可以从中选择变量;
增加字段:在上⾯定义完字段名称和组态王变量后,点击“增加字段”按钮,将会把定义好的字段增加到显⽰框中;
删除字段:从显⽰框中选中已有字段的字段名称,点击“删除字段”按钮,将会把定义好的字段从显⽰框中删除;
修改字段:从显⽰框中选中已有字段的字段名称,此时该字段名称和对应组态王变量名称会显⽰在各项中,对各项进⾏修改,然后点击“修改字段”按钮,将会把修改后的字段重新显⽰在显⽰框中,修改完字段后,必须点击“确认”按钮才会保存修改内容;
上移⼀⾏:从显⽰框中选中已有字段的字段名称,点击“上移⼀⾏”按钮,将会把选中的字段向上移动⼀⾏;
下移⼀⾏:从显⽰框中选中已有字段的字段名称,点击“下移⼀⾏”按钮,将会把选中的字段向下移动⼀⾏。
复制记录体:选中已定义的记录体,点右键,从弹出的右键菜单中选择“复制编辑”,最后点“确认”,即可实现对记录体的复制。
定义ODBC数据源
态王SQL访问功能能够和其他外部数据库(⽀持ODBC访问接⼝)之间的数据传输。实现数据传输必须在系统ODBC数据源中定义相应数据库。
进⼊“控制⾯板”中的“管理⼯具”,⽤⿏标双击“数据源 (ODBC)”选项,弹出“ODBC数据源管理器”对话框,如下图所⽰。
image.png
注意:
组态王是32位,只⽀持32位ODBC。
有些计算机的ODBC数据源是中⽂的(如上图所⽰),有些的是英⽂的,视机器⽽定,但是两种的使⽤⽅法相同。
“ODBC数据源管理器”对话框中前两个属性页分别是“⽤户DSN”和“系统DSN”,⼆者共同点是:在它们中定义的数据源都存储了如何与指定数据提供者在连接的信息,但⼆者⼜有所区别。在“⽤户DSN”中定义的数据源只对当前⽤户可见,⽽且只能⽤于当前机器上;在“系统DSN”中定义的数据源对当前机器上所有⽤户可见,包括NT服务。因此⽤户根据数据库使⽤的范围进⾏ODBC数据源的建⽴。
mysql下载32位
如何使组态王与数据库建⽴连接
使⽤组态王与数据库进⾏数据通讯,⾸先要建⽴它们之间的连接。下⾯通过⼀个实例介绍如何使组态王与数据库建⽴连接【在完成前两步的基础之上】。
◆ 连接数据库:新建画⾯“数据库连接”,在画⾯上作⼀个按钮,按钮⽂本为:“连接数据库”,在按钮“弹起时”动画连接中使⽤SQLConnect()函数和SQLSelect()函数建⽴与“某个”数据库进⾏连接:
SQLConnect( DeviceID, "dsn=mine;uid=root;pwd=password");
/建⽴和数据库mine连接,其中DeviceID是⽤户创建的内存整型变量,⽤来保存SQLConnect()函数为每个数据库连接分配的⼀个数值/
/注意在执⾏SQLDisconnect(断开和数据库的连接函数)之前,重复执⾏SQLConnect将会增加DeviceID,DeviceID最多为255/
SQLSelect( DeviceID, "kingview", "BIND", "", "");
/* SQLSelect()函数:访问⼀个数据库并返回⼀个表的信息,此信息可以被查询、删除、清空等操作*/
以上指令执⾏之后,使组态王与数据库建⽴了连接。
如何将数据存⼊数据库
创建数据库表格成功之后,可以将组态王中的数据存⼊到数据库表格中。下⾯通过⼀个实例介绍如何将数据存⼊数据库。
例:将数据存⼊数据库
◆ 在组态王中创建⼀个记录体:BIND1。定义三个字段:salary(整型,对应组态王变量record1)、name(定长字符串型,字段长度:255,对应组态王变量name)、age(整型,对应组态王变量age)。详细定义请参照“记录体”⼀节;
◆ 在“数据库连接” 画⾯上作⼀个按钮,按钮⽂本为:“插⼊记录”,在按钮“弹起时”动画连接中使⽤SQLInsert()函数:
SQLInsert( DeviceID, "KingTable", "BIND1" );
该命令使⽤记录体BIND1中定义的连接在表格KingTable中插⼊⼀个新的记录。
该命令执⾏后,组态王运⾏系统会将变量salary的当前值插⼊到 MySQL数据库表格“KingTable”中最后⼀条记录的“salary”字段中,同理变量name、age的当前值分别赋给最后⼀条记录的字段:name、a
ge值。运⾏过程中可随时点击该按钮,执⾏插⼊操作,在数据库中⽣成多条新的记录,将变量的实时值进⾏保存。
SQL函数及SQL函数的参数
组态王使⽤SQL函数和数据库交换信息。这些函数是组态王标准函数的扩充,可以在组态王的任意⼀种命令语⾔中使⽤。这些函数允许你选择,修改,插⼊,或删除数据库表中的记录。
SQL****函数
以下列出所有的SQL函数。值得注意的是SQL查询功能是同步的,在SQL查询功能结束之前,控制权不能返回组态王(包括趋势曲线等将被挂起)。所有的SQL函数(除SQLNumRows()之外)都会返回⼀个结果代码。如果这个代码不为零,表明调⽤函数失败。结果代码可以通过SQLErrorMsg()函数得到。
SQL函数的通常格式如下:
SQLFunction(Parameter1,Parameter2,…)
函数:功能
SQLAppendStatement: 使⽤SQLStatement的内容继续⼀个SQL语句
SQLClearParam: 清除特定参数的值
SQLClearStatement: 释放和SQLHandle指定的语句相关的资源
SQLClearTable: 删除表格中的记录,但保留表格
SQLCommit: 定义⼀组transaction命令的结尾
SQLConnect
连接组态王到connectstring指定的数据库中
SQLCreatTable: 使⽤表格模板中的参数在数据库中
SQLDelete: 删除⼀个或多个记录
SQLDisconnect: 断开和数据库的连接
SQLDropTable: 破坏⼀个表格
SQLEndSelect: 在SQLSelect()后使⽤本函数来释放资源
SQLErrorMsg: 返回⼀个⽂本错误信息,此错误信息和特定的结果代码相关
SQLExecute: 执⾏⼀个SQL语句。如果这个语句是⼀个选择语句,捆绑表中的参数所指定的名字⽤来捆绑数据词典中变量和数据库的列
SQLFirst: 选择由SQLSelect()选择的表格中的⾸项记录
SQLGetRecord
从当前选择缓存区返回由RecordNumber指定的记录
SQLInsert: 使⽤捆绑表中指定的变量中的值在表格中插⼊⼀个新记录。捆绑表中的参数定义了组态王中变量和数据库表格列的对应关系
SQLInsertEnd: 释放插⼊语句
SQLInsertExecute: 执⾏已经准备的语句
SQLInsertPrepare: 准备⼀个插⼊语句
SQLLast: 选择SQLSelect()指定表格中的末项
SQLLoadStatement: 读包含在FileName中的语句,它类似与SQLSetStatement()创建的语句,能被SQLAppendStatement()挂起,或由SQLExecute()执⾏,每个⽂件中只能包含⼀个语句
SQLNext: 选择表中的下⼀条记录
SQLNumRows: 指出有多少条记录符合上⼀次SQLSeclect()的指定
SQLPrepareStatement: 本语句为SQLSetParam()准备⼀个SQL语句。⼀个语句可以由SQLSetStatement(),或SQLLoadStatement()创建
SQLPrev: 选择表中的上⼀条记录
SQLSelect: 访问⼀个数据库并返回⼀个表的信息,此信息可以被SQLFirst(),SQLLast(),SQLNext()和SQLPrev()
SQLSetParamChar: 将指定的参数设成特定的字符串。本函数可以调⽤多次,以设置参数值
SQLSetParamDate: 将指定的⽇期参数设置成特定的字符串
SQLSetParamDateTime: 将指定的⽇期时间参数设置成特定的字符串
SQLSetParamDecimal: 将指定的⼗进制参数设置成特定的字符串
SQLSetParamFloat: 将指定的参数设置成特定的值
SQLSetParamInt: 将指定的参数设置成特定的值
SQLSetParamLong: 将指定的参数设置成特定的值
SQLSetParamNull: 将指定的参数设置成空值
SQLSetParamTime: 将指定的时间参数设置成特定的字符串
SQLSetStatement: 启动⼀个语句缓存区,此语句缓存区由SQLStatement()使⽤
SQLTransact: 定义了⼀组访问指令的开始。在SQLTransact()指令和 SQLCommit()指令之间的⼀组指令称为⼀个访问组。⼀个访问组可以象单个访问⼀样操作。在SQLTransact()指令执⾏后,所有接下的操作都不委托给数据库,直到SQLCommit()指令执⾏
SQLUpdate: ⽤当前的组态王变量更新数据库中的记录
SQLUpdateCurrent: 更新数据库中的记录。注意:使⽤SQLUpdateCurrent时要求记录体关联的⾄少
⼀个字段为表中的不可重复字段,并且该字段类型不为⾃动编号,不为浮点数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。