WINCC中使用ADO对象连接数据库 例子 常用属性 方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在WINCC中连接数据库可以使用ADO控件进行连接数据库,但是通常都不是用的ADO控件进行连接数据库,以下讲讲winccZ中使用ADO对象连接查询数据库。以下以报警记录为例。
一、了解ADO对象
1.1ADO对象操作数据库是微软提供的一种接口。
1.2对ADO对象的访问使用CreateObject函数(详情请参看CreateObject函数资料)
ADO组件的前缀是ADODB,所以访问的时候必须为ADODB.XX(X代表对象)
eg:
dim conn,oRs,oCom
Set conn = CreateObject("ADODB.Connection") 'Connection对象
Set oRs = CreateObject("ADODB.Recordset") 'ADODB.Recordset对象
Set oCom = CreateObject("mand") 'mand命令对象
二、对象
2.1 Connection 对象
2.1.1 open 方法
语法
connection.Open ConnectionString,UserID,Password,OpengOptions
说明
ConnectionString:可选参数,字符串,包含连接信息
UserID:可选参数,字符串,包含建立连接时候用的用户名
Password:可选参数,字符串,包含建立连接时候用密码
OpenOptions:可选参数,连接打开方式
eg1:(连接数据库代码方法1,仅连接部分代码)
Dim conn
Dim tagDSNName
Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString =
"Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
conn.CursorLocation = 3
conn.Open
eg2:(连接数据代码方法2,连接部分代码)
Dim conn
Dim tagDSNName
Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
Set conn = CreateObject("ADODB.Connection")
conn.CursorLocation = 3
conn.Open "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
2.1.2 close方法
connection.close
eg:
Dim conn
Dim tagDSNName
Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
Set conn = CreateObject("ADODB.Connection")
conn.CursorLocation = 3
conn.Open "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
'这里写上对数据库查询,修改等操作
conn.close
2.1.3 execute方法
语法
Cn.Execute strCommand,[IngRowsAffected[,IngOptions]]
说明
strCommand:可以是查询语句、表名、存储过程名等
IngRowsAffected:可选参数,返回Insert、Update 、Delete查询语句后所影响的数目 IngOptiongs: 参数可以如下
adCmdUnkown:Command类型未定,由数据源提供者去判断Command语法
AdCmd是和对象类型相应的文件名称
adCmdStoredProc:Command是存储过程名称
adCmdTable:Command是能产生内部SELECT*FROM TableName查询的表名称
adCmdTableDirect:Command是能直接从表中获取行内容的表名称
adCmdText:Command是一条SQL语句
eg:
Dim conn,oCom,oRs
Dim tagDSNName
Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
Set conn = CreateObject("ADODB.Connection")
conn.CursorLocation = 3
conn.Open "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
Set oCom = CreateObject("mand")
Set oRs = CreateObject("ADODB.Recordset")
mandType=1
Set oCom.ActiveConnection = conn
mandText ="ALARMVIEW:Select * FROM AlgViewCHT "
Set oRs = oCom.Execute
'以上4句还可以写成 Set oRs=conn.Execute("ALARMVIEW:Select * FROM AlgViewCHT ")
conn.close
2.2 Recordset对象
Recordset 常用属性
RecordsetCount:返回当前记录的数目
BOF:表示当前记录位于该对象第一个记录之前
EOF:表示当前记录位于该对象最后一个记录之后。
movefirst:移动到第一条
movenext:移动到下一条
movelast:移动到最后一条
eg:
Dim conn,oCom,oRs
Dim m
Dim tagDSNName
Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")
Set conn = CreateObject("ADODB.Connection")
conn.CursorLocation = 3
conn.Open "Provider=WinCCOLEDBProvider.1;Catalog="&tagDSNName.Read&";Data Source=.\WinCC"
Set oRs = CreateObject("ADODB.Recordset")
Set oRs=conn.Execute("ALARMVIEW:Select * FROM AlgViewCHT ")
m = oRs.RecordCount
msgbox "报警行数"&m
conn.close
2.2.1 Open方法
语法
recordset.Open Source,ActiveConnection,CursorType,LockType,Options
说明
Source:可选参数,变体型,计算Command对象的变量名、SQL语句、表名、存储过程调用或持久的 Recordst文件名
ActiveConnection:可选参数,变体型,计算有效Connection对象变量名或字符串,包含 ConnectionString参数
CursorType:可选参数,用于确定数据提供者打开Recordset时应该使用游标类型,类型如下
adOpenForwardOnly:打开仅向前类型游标(默认类型)
adOpenKeyset:打开键集类型游标
adOpenDynamic:打开动态类型游标
adOpenStatic:打开静态类型游标
注:具体解释请参考百度结果,这里我们主要讲解应用方面的东西。