您的位置:首页 > 编程语言 > Qt开发

qtp_oracle数据库连接

2008-12-23 15:04 239 查看
1. 创建一个oracle_sxfs_qtp_connect.vbs文件

'-----------------------------------------------------------------
'function:数据库连接
'call method:在调用文件中先定义ResQtp,CmdQtp
'For example:Dim ResQtp,CmdQtp
' DBConnect()
'-----------------------------------------------------------------
Public Sub DBConnectQtp()
Dim StrConQtp
Set ResQtp = CreateObject("ADODB.Recordset")
Set CmdQtp = CreateObject("ADODB.Command")
'Oracle
StrConQtp ="DRIVER={Oracle in OraDb10g_home1};SERVER=ttgfmis;UID=peter_qtp_sxfs;PWD=peter_qtp_sxfs;DBQ=TTGFMIS;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;"
CmdQtp.activeconnection=StrConQtp
CmdQtp.CommandType =1
End Sub
'-----------------------------------------------------------------
'function:执行SQL语句
'Input parameter: StrSql
'For example:Dim sql
' sql="select * from t_user"
' ExecuteSql(StrSql)
'---------------------------------------------------------
Public Sub ExecuteSqlQtp(StrSql)
CmdQtp.CommandText=StrSql
Set ResQtp = CmdQtp.Execute()
End Sub

'function:关闭数据库
'For example:DBCloseQtp()
'---------------------------------------------------------
Public Sub DBCloseQtp()
Set ResQtp=nothing
Set CmdQtp.activeconnection=nothing
Set CmdQtp=nothing
End Sub

2.查找数据库信息,脚本为:oracle_sxfs_operation.vbs

'连接qtp数据库
Dim Res,Cmd,ResQtp,CmdQtp
Dim SqlArray,QtpParameter,rowcount
Public Function SqlQtp(sqlsentence,SqlItem)
ExecuteFile "../sxfs/oracle_sxfs_qtp_connect.vbs"
DBConnectQtp()
ExecuteSqlQtp(sqlsentence)
QtpParameter = ResQtp(SqlItem).value
DBCloseQtp()
End Function

'连接sxfs数据库
Public Function SqlSxfs(op_type,sqlsentence,SqlItem)
SqlArray = ""
ExecuteFile "../sxfs/oracle_sxfs_qtp_connect.vbs"
sqlqtp_connect = "select * from dbconnect where (db_name='"&op_type&"')"
Call SqlQtp(sqlqtp_connect,"db_server")
op_server = QtpParameter
Call SqlQtp(sqlqtp_connect,"db_username")
op_username = QtpParameter
Call SqlQtp(sqlqtp_connect,"db_userpwd")
op_userpwd = QtpParameter
Call SqlQtp(sqlqtp_connect,"db_dbp")
op_dbp = QtpParameter
ExecuteFile "../sxfs/oracle_sxfs_connect.vbs"
Call DBConnect(op_server,op_username,op_userpwd,op_dbp)
sqlsentence_count = "select count(*) from " & mid(sqlsentence,14,len(sqlsentence)-13)
ExecuteSql(sqlsentence_count)
a = Res("count(*)").value
If a = 0 Then
ReDim SqlArray(0)
SqlArray(0)=""
else
dim row,m
row = 0
ExecuteSql(sqlsentence)
Do while not Res.eof
m=m & Res(SqlItem) & ";"
Res.MoveNext
row = row + 1
Loop
rowcount = row
SqlArray = Split(m, ";")
'u=ubound(SqlArray)
'ArrayCount = CStr(u) 'ArrayCount为SqlItem的个数
End If
DBClose()
End Function

'Product:地市非税系统
'Module:更新数据库(update,insert)
'Author: Peter-Liao
Public Function SqlAlter(OracleType,SqlSentence)
Select Case true
Case OracleType="city"
sqlqtp_connect = "select * from dbconnect where (op_type='city')"
Call SqlQtp(sqlqtp_connect,"op_server")
op_server = QtpParameter
Call SqlQtp(sqlqtp_connect,"op_username")
op_username = QtpParameter
Call SqlQtp(sqlqtp_connect,"op_userpwd")
op_userpwd = QtpParameter
Call SqlQtp(sqlqtp_connect,"op_dbp")
op_dbp = QtpParameter
ExecuteFile "../sxfs/oracle_sxfs_connect.vbs"
Call DBConnect(op_server,op_username,op_userpwd,op_dbp)
ExecuteSql(SqlSentence)
DBClose()
Case OracleType="qtp"
ExecuteFile "../sxfs/oracle_sxfs_qtp_connect.vbs"
DBConnectQtp()
ExecuteSqlQtp(SqlSentence)
DBCloseQtp()
End Select
End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: