帮忙求助,WINCC用VBS与SQL 2000的问题(问题已解决,分享经验)

已锁定

枯树

  • 帖子

    74
  • 精华

    0
  • 被关注

    7

论坛等级:游侠

注册时间:2008-08-09

普通 普通 如何晋级?

帮忙求助,WINCC用VBS与SQL 2000的问题(问题已解决,分享经验)

981

4

2010-10-26 19:42:40

本人通过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 Security 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
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
这种方法是利用记录集的方法来操作数据库的。
以上是我这几天的学习试验的结果,希望对大家有点帮助,因为本人水平有限,还请高人指点,谢谢!!!


帮忙求助,WINCC用VBS与SQL 2000的问题(问题已解决,分享经验) 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32575条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。