您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页wincc通过vbs访问数据库

wincc通过vbs访问数据库

来源:爱够旅游网


本人通过WINCC的VBS读取SQL2000里的数据或者写入数据,通过在按钮控件做一个动作,当点击时写入数据库一个数据,代码如下:

Dim rs,comm

Dim cn,strcn

Dim is_sql,strSQL

Set cn = CreateObject(\"ADODB.Connection\")

Set rs = CreateObject(\"ADODB.Recordset\")

strcn = \"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Info=False;Initial Catalog=glj;Data Source=GLJ077\\wincc\"

cn.ConnectionString = strcn

cn.Open

strSQL = \"INSERT INTO W1 (xm) VALUES ('glj077')\"

rs.CursorLocation = adUseServer

rs.Open strSQL, cn, 1, 3

Security

cn.Close

Set cn = Nothing

发现如下问题:

此代码在VB6.0中调试通过,可以写入数据glj077,但在WICC里不可以,虽然编译通过,但当按下按钮时,并没有写入数据.

请各位高手帮忙看一下,是代码的问题还是需要在WINCC里还要装一些设置,望告之.

谢谢

以上问题已解决,发现是代码问题,还有楼上那位兄弟说的对,常量不识别,必须用数字代替。

通过这几天的试验,学到了不少东西,现把学到的东西和大家分享一下,希望可以抛砖引玉。

在WINCC里,用VBS读取和写入到SQL2000数据方法有以下几种(仅写出本人实验通过的方法,至于其它方法,本人没有试验过,不在讨论范围)

第一种方法代码如下(写入数据)

Dim cn,strSQL,strcn

Set cn = CreateObject(\"ADODB.Connection\")

strcn = \"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=glj;Data Source=GLJ077\\wincc\"

cn.ConnectionString = strcn

cn.Open strcn

strSQL = \"INSERT INTO W1 (xm) VALUES ('glj077')\"

cn.Execute strSQL

cn.close

set cn=Nothing

以上方法立用了字符串连接函数的Execute方法,实现对数据库的写入操作(改变strSQL字符的值应该可以实现其它操作,不过本人没有实验过)

第二种方法代码如下:(可写可读)

Dim cn,strSQL,strcn

Dim rs,rs1

Dim Rvalue

Set cn = CreateObject(\"ADODB.Connection\")

Set rs=CreateObject(\"ADODB.RecordSet\")

Set rs1=CreateObject(\"ADODB.RecordSet\")

strcn = \"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=glj;Data Source=GLJ077\\wincc\"

cn.ConnectionString = strcn

cn.Open strcn

strSQL = \"Select * from W1\"

rs.CursorLocation = 1(此处必须写数字代替字符串常量)

写入数据

Set rs1=rs.Open strSQL, cn, 1, 3 (同样,也必须用数字,发现没有,这个

和我最初的代码有什么不一样,这也是

我最初的程序不能正确执行的关键)

rs1.AddNew 新建一条记录

rs1.Fields(\"xm\")=\"glj077\" 往数据库表W1字段为xm中写入一条记录,

值为glj077

rs1.Update

读取数据

Set rs1=rs.Open strSQL, cn, 1, 3

rs1.Movefist

Rvalue =rs1.Fields(\"xm\") 读取第一条记录的值,修改SQL查询语句可以

查找特定记录

rs1.close

rs.close

cn.close

set rs=Nothing

set rs1=Nothing

set cn=Nothing

这种方法是利用记录集的方法来操作数据库的。

以上是我这几天的学习试验的结果,希望对大家有点帮助,因为本人水平有限,还请高人指点,谢谢!!!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务