WINCC中使用ADO对象连接数据库-例子-常用属性-方法_第1页
WINCC中使用ADO对象连接数据库-例子-常用属性-方法_第2页
WINCC中使用ADO对象连接数据库-例子-常用属性-方法_第3页
WINCC中使用ADO对象连接数据库-例子-常用属性-方法_第4页
WINCC中使用ADO对象连接数据库-例子-常用属性-方法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在WINCC中连接数据库可以使用ADO控件进行连接数据库,但是通常都不是用的ADO控件进行连接数据库,以下讲讲winccZ中使用ADO对象连接查询数据库。以下以报警记录为例。一、了解ADO对象1.1AD O对象操作数据库是微软提供的一种接口。1.2对ADO对象的访问使用 CreateObject函数(详情请参看 CreateObject函数资料)ADO组件的前缀是ADODB所以访问的时候必须为 ADODB.XX(X代表对象)eg:dim conn, oRs,oComSet conn = CreateObject(ADODB.Connection) Connection 对象Set oRs =

2、CreateObject(ADODB.Recordset) ADODB.Recordse 对象Set oCom = CreateObject(ADODB.Comma nd)ADODB.Comma nd 命令对象二、对象2.1 Conn ection 对象2.1.1 ope n 方法语法conn ecti on. Ope n Connection Stri ng,UserlD,Password,Ope ngOptio ns说明Co nn ectio nStri ng:可选参数,字符串,包含连接信息UserID可选参数,字符串,包含建立连接时候用的用户名Password 可选参数,字符串,包含建立

3、连接时候用密码Ope nOptio ns:可选参数,连接打开方式eg1:(连接数据库代码方法1,仅连接部分代码)Dim connDim tagDSNNameSet tagDSNName = HMIRu ntime.Tags(DatasourceNameRT)Set co nn = CreateObject(ADODB.Co nn ectio n) conn.Connection Stri ng =Provider=Wi nCCOLEDBProvider.1;Catalog=&tagDSNName.Read& ;Data Source=.Wi nCC conn. CursorLocati on

4、= 3conn. Ope neg2:(连接数据代码方法 2,连接部分代码)Dim connDim tagDSNNameSet tagDSNName = HMIRuntime.Tags(DatasourceNameRT)Set conn = CreateObject(ADODB.Connection)conn.CursorLocation = 3conn.Open Provider=WinCCOLEDBProvider.1;Catalog=&tagDSNName.Read&;Data Source=.WinCC2.1.2 close 方法connection.closeeg:Dim connDi

5、m tagDSNNameSet tagDSNName = HMIRuntime.Tags(DatasourceNameRT)Set conn = CreateObject(ADODB.Connection)conn.CursorLocation = 3conn.Open Provider=WinCCOLEDBProvider.1;Catalog=&tagDSNName.Read&;Data Source=.WinCC这里写上对数据库查询,修改等操作conn.close2.1.3 execute 方法语法Cn.Execute strCommand,IngRowsAffected,IngOptio

6、ns说明strCommand :可以是查询语句、表名、存储过程名等IngRowsAffected:可选参数,返回Insert、Update、Delete查询语句后所影响的数目 IngOptiongs: 参数可以如下adCmdUnkown:Command 类型未定,由数据源提供者去判断 Command 语法 AdCmd是和对象类型相应的文件名称adCmdStoredProc:Command 是存储过程名称 adCmdTable:Comma nd 是能产生内部 SELECT*FROM TableName查询的表名称 adCmdTableDirect:Command 是能直接从表中获取行内容的表名称

7、 adCmdText:Command 是一条 SQL语句eg:Dim conn,oCom,oRsDim tagDSNNameSet tagDSNName = HMIRuntime.Tags(DatasourceNameRT)Set conn = CreateObject(ADODB.Connection)conn.CursorLocation = 3conn.Open Provider=WinCCOLEDBProvider.1;Catalog=&tagDSNName.Read&;Data Source=.WinCCSet oCom = CreateObject(ADODB.Command)Se

8、t oRs = CreateObject(ADODB.Recordset)oCom.CommandType=1Set oCom.ActiveConnection = connoCom.CommandText =ALARMVIEW:Select * FROM AlgViewCHT Set oRs = oCom.Execute以上 4 句还可以写成 Set oRs=conn.Execute(ALARMVIEW:Select * FROM AlgViewCHT )conn.close2.2 Recordset 对象Recordset 常用属性RecordsetCou nt:返回当前记录的数目BOF表

9、示当前记录位于该对象第一个记录之前EOF表示当前记录位于该对象最后一个记录之后。movefirst:移动到第一条moven ext:移动到下一条movelast:移动到最后一条eg:Dim conn,oCom,oRsDim mDim tagDSNNameSet tagDSNName = HMIRuntime.Tags(DatasourceNameRT)Set conn = CreateObject(ADODB.Connection)conn.CursorLocation = 3conn.Open Provider=WinCCOLEDBProvider.1;Catalog=&tagDSNName

10、.Read&;DataSource=.WinCCSet oRs = CreateObject(ADODB.Recordset)Set oRs=conn.Execute(ALARMVIEW:Select * FROM AlgViewCHT )m = oRs.RecordCountmsgbox 报警行数 &mconn.close2.2.1 Open 方法语法recordset.Open Source,ActiveConnection,CursorType,LockType,Options说明Source可选参数,变体型,计算 Comma nd对象的变量名、SQL语句、表名、存储过程调 用或持久的R

11、ecordst文件名ActiveConnection: 可选参数,变体型,计算有效Connection 对象变量名或字符串,包含Connection Stri ng 参数CursorType可选参数,用于确定数据提供者打开Recordset时应该使用游标类型,类型如下adOpe nForwardO nly:打开仅向前类型游标(默认类型)adOpe nKeyset打开键集类型游标adOpe nDyn amic打开动态类型游标adOpe nStatic打开静态类型游标注:具体解释请参考百度结果,这里我们主要讲解应用方面的东西。LockType可选参数,确定数据提供者打开Recordset时应该使用

12、的锁定(并发)类型的LockTypeE num值,类型如下adLockReadO nly只读,默认值adLockPessi ni stic保守式锁定,提供者完成确保成功编辑记录所需的工作,通常通过 在编辑时候锁定数据源的记录来完成。adLockOptimistic:开放式锁定,提供者试用开放式锁定,只在调用Update方法时才锁定记录。adLockBatchOptimistic:开放式批更新,用于批更新模式Opti on gs:可选参数,长整型,用于指示数据提供者如何计算Source参数,或从以前保存的Recordset中恢复Recordset(以下省略参数类型讲解)eg:Dim conn,

13、oRs,oComDim m,iDim tagDSNNameSet tagDSNName = HMIRu ntime.Tags(DatasourceNameRT)Set conn = CreateObject(ADODB.Co nn ectio n)conn. CursorLocati on = 3conn. Ope nProvider=Wi nCCOLEDBProvider.1;Catalog=&tagDSNName.Read&;DataSource=.Wi nCCSet oRs = CreateObject(ADODB.Recordset)oRs.open ALARMVIEW:Select

14、* FROM AlgViewCHT ,co nnm = oRs.RecordCo untMsgBox,报警行数&moRs.Closeconn. Close2.3 Comma nd 对象2.3.1对象属性说明ActiveCo nn ectio n:使打开的数据库连接与Comma nd对象关联Comma ndText可执行的命令文本,女口SQL语句Comma ndType指定命令类型以优化性能CommandTimeout:设置提供者等待命令行的秒数以下摘自西门子连通性文档过程值记录集结构注释ValuelD整聖(4字节i 或整型(3字芳t值的唱一标识。 长度取决于查询的类璽Timestamp日期Re

15、arvaiue实型(8字节)妞值Quality鑒型(理宇节)陌的聽豪代码(列如奸诫“野)cFlags整型(0宇节)报警ViewName粧鬲薛费的名称。必须用哥姿的语曽指定该衣.例如,五种 BiMilff的ViewName是:ALGVIEWDEU :徳语报消豐归時教黴 ALGVIEWENU :英语推消鼻归档数參 ALGVIEWESP :西班牙曰档数抵 ALGVIEWFRA :法语擡消患归档数抵 ALGVIEWITA :簸大利信报消鼻归档数霖 例如.亚渕语曹的“ViewNnmo豊: ALGVIEWCHT :中文(価体)报洽归档数累 ALGV1EWCHT :中文(体)根渚息归档数妄 ALGVIEWJ

16、PN : B语报消息归岩数抵 ALGVIEWKOR :歼逼消JB档数条注支持左WnCC蔓本系焼丰安装的语書或耆左WmCC文本犀 中组杰的谒胃.有关可授曼的SlftASA相应的*VewName- 听信製可在SQLServert2003-0601 17 300GMsgNr = 5MsgNr in (4. 5)State = 2ffffl DateTime时.仅叫便禺絕刃肘囿贵不注。ttE域名称类型注释1MsgNo整型(4字节)消息号2State小(2字右)报记录状态3DateTime日期时间(8字 节)消息的时间狙(不帯秒的日期/时间)4Ms小整型(2字节)消电的时间応(豪秒)5InstanceV

17、arChar (255)报记录的实例名称6Flags 1S9 (4字节)(仅限于内毎使用)7PValueUsedKOI (4 ?节)使用的过程值8到17P Value 1 到 PValuelO实型(8孚节)数字过程值1到1018 到 27PTextl 到PTextIOVarChar (255)过程值文本1到1028ComputerNameVarChar (255)计算机的名称29应用程序VarChar (255)应用程厚名称30CommentVarChar (255)注释31UserNameVarChar (255)用户名32Counter整型(4J节)运行报肩息计数器33TimeDiff整型

18、(4字节)与-进入状态的时间差34ClassNameVarChar (255)消息类别的名称35TypenameVarChar (255)消息类型的名称36Class小整里(2字万)消息类别ID37Type小整型(2字节)消息类型ID38 到 47Texll 到 TextIOVarChar (255)消取文本1到1048AG NR小期a( 2字节)PLC的编号49CPU.NR小整型(2字节)CPU的编号50CrComeFore整型(4字节)“进入状态的前景色掃連ValudD数馆库表的1B ID可以使用多个名称.例如-TAQ:R,(ValuelD 1: ValuelOSjVakjelDx), I

19、 imeBegifi,MVaki eNameValueName 的格式为aArchiveNamokVaLie.NameR 必须肖产数 ValueName 拈在单引号 中.可以使用多个名称伙如TAG:R.(,ValucNamc_r;ValucNamc_Z;,ValucNamc_ict)l f* 注禅请注意,编程曲吉如Visual Bask、VBScnpt或VBA仅允许在交名标中存在以下宇符: A Z -a. z -0 .9-以及 J WinCC中 JC孚在变名林中使禺轻姝字符却浚丫 .則19本科中止并岀坝倍凄4鼻。 这种情况下可使用ID访问其胆本名称中包含特殊宇符的变ilcTiineBeyin开

20、始时间加式为:-YYYY MM DD hh:mm:$s.msc*使用 Bl ,仑须料 定为绝对时问。禁止梗用相对语句POOO OO 00 oo:oo:oo.oocrn ASC|DESC 实例:以下查询回变PEueNameJ和9妣抽”2的所有值这些値小于50或大 于 100。叮AG:R,CVoluoNameyValucNomejr)严TinwBeginFTiinoEnd、 WHERE RealValue 100 OR RealVaiue bCTTinreStep在声昭罚吋個何隅申的俯抽瓷d .从开出时间EmeB胡R开姑赫式:-TIMESfTEP=xyX=的问间絹(取秒计)类翌(定史时闽间篇结甲)

21、下到值可坷子汇总类型:肓霸补1 (FIRST)2(USD3 (MIN)4 (MAX)5 (AVG)6 (SUM)7 (COUNT i25 :FIHSJ INTERPOLATED) 25B : UST_1 NT ERPOLATE D)259 MJNJNTERPOLATED)260 MAX.IN匚RP0LATED】261 AVGi N T E RPOLATE D)262 SUMKTTERPOLA7tD)263 (COUMTJNTERPOLATED)彌一4恒 量后一个値中值僧掘目天*齐甘着:如卑在吋间阎馬中平衍在任何不返回时间阔怙甲肓描*書吁 帕卑在耐间间隔中不存存枉何但,空的鄴逋时间间隔的皓甲枝性 描拎得出一吓値4苹轉熠外插进.艮欖:樹如Ti嶄騎芷P=GO药7 ,対乎犀不栩秒的时1助咸隔,将逅倒吐时冋筒届的策一个 值 忆卑业瞄闾闻爲中铅有任何值.则返问邻诉曲珂间阿Ni中事一片價的蛭件播补TAGcK.LCXmJZ-OH 09:03:00.00070000800 OttlOOO.OGOVTIMES!已尸=6(X25严过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论