WINCC用VBS与SQL 2000读取数据 点击:905 | 回复:4



枯 树

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 42回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2008年2月07日
发表于:2010-11-04 21:43:35
楼主
在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 = "INSE INTO W1 (xm) VALUES (‘glj077‘)"     //注意:这里的INSE并不是插入的语法,因为插入的语法被认为非法,所以只有写成这样

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.Upd    //注意:更新的语法并不是UPD,因为更新的语法被认为是非法字符,所以只有写成这样了

读取数据

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

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

以上是我这几天的学习试验的结果,希望对大家有点帮助,因为本人水平有限,还请高人指点,谢谢!!! 注意:在进行以代码编写时,请保证"查询分析器"可以连到SQL2000的服务器上.





yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2010-11-04 22:27:12
1楼
4年前,深入浅出西门子Wincc6一书就详细阐述了过程并给出了代码。

Regards

枯 树

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 42回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2008年2月07日
发表于:2010-11-05 14:40:23
2楼
回复内容:
对:yuanle 关于4年前,深入浅出西门子Wincc6一书就详细阐述了过程并给出了代码。

Regards
内容的回复:

是吗?我并没有看见,我只是对着别的VB对SQL2000的操作自己弄的,并没有照书抄.不过我应该找来看看,有用

Nickleen

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 146回
  • 年度积分:0
  • 历史总积分:186
  • 注册:2007年10月18日
发表于:2010-11-12 14:49:17
3楼

深入浅出WINCC确实比较好 建议多看多学习

gzgylgl

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 221回
  • 年度积分:0
  • 历史总积分:556
  • 注册:2001年8月30日
发表于:2010-11-15 10:55:38
4楼
<深入浅出WINCC>对初学者确实比较好,要精通只有自己花时间学习了

热门招聘
相关主题

官方公众号

智造工程师