资源描述:
《wincc通过vbs访问数据库.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本人通过WINCC的VBS读取SQL2000里的数据或者写入数据,通过在按钮控件做一个动作,当点击时写入数据库一个数据,代码如下:Dim rs,commDim cn,strcnDim is_sql,strSQLSet cn = CreateObject("ADODB.Connection")Set rs = CreateObject("ADODB.Recordset")strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=glj;Dat
2、a Source=GLJ077wincc"cn.ConnectionString = strcncn.OpenstrSQL = "INSERT INTO W1 (xm) VALUES ('glj077')"rs.CursorLocation = adUseServerrs.Open strSQL, cn, 1, 3cn.CloseSet cn = Nothing发现如下问题:此代码在VB6.0中调试通过,可以写入数据glj077,但在WICC里不可以,虽然编译通过,但当按下按钮时,并没有写入数据.请各位高手帮忙看一下,是代码的问题还是需要在WINCC里还要装一些设置,
3、望告之. 谢谢!!!以上问题已解决,发现是代码问题,还有楼上那位兄弟说的对,常量不识别,必须用数字代替。通过这几天的试验,学到了不少东西,现把学到的东西和大家分享一下,希望可以抛砖引玉。在WINCC里,用VBS读取和写入到SQL2000数据方法有以下几种(仅写出本人实验通过的方法,至于其它方法,本人没有试验过,不在讨论范围)第一种方法代码如下(写入数据)Dim cn,strSQL,strcnSet cn = CreateObject("ADODB.Connection")strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI
4、;Persist Security Info=False;Initial Catalog=glj;Data Source=GLJ077wincc"cn.ConnectionString = strcncn.Open strcnstrSQL = "INSERT INTO W1 (xm) VALUES ('glj077')"cn.Execute strSQLcn.closeset cn=Nothing以上方法立用了字符串连接函数的Execute方法,实现对数据库的写入操作(改变strSQL字符的值应该可以实现其它操作,不过本人没有实验过)第二种方法代码如下:(可写可读)D
5、im cn,strSQL,strcnDim rs,rs1Dim RvalueSet 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=GLJ077wincc"cn.Connect
6、ionString = strcncn.Open strcnstrSQL = "Select * from W1"rs.CursorLocation = 1(此处必须写数字代替字符串常量)写入数据Set rs1=rs.Open strSQL, cn, 1, 3 (同样,也必须用数字,发现没有,这个 和我最初的代码有什么不一样,这也是 我最初的程序不能正确执行的关键)rs1.AddNew 新建一条记录rs1.Fields("xm")="gl
7、j077" 往数据库表W1字段为xm中写入一条记录, 值为glj077rs1.Update读取数据Set rs1=rs.Open strSQL, cn, 1, 3 rs1.MovefistRvalue =rs1.Fields("xm") 读取第一条记录的值,修改SQL查询语句可以 查找特定记录rs1.closers.closecn.closeset rs=Nothingset