51Testing软件测试论坛
标题: QTP从数据库获取数据的例子 [打印本页]
作者: oftime999 时间: 2007-6-18 14:56
标题: QTP从数据库获取数据的例子
做实验的时候需要把Cmd.activeconnection="Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;修改成自己计算机上的信息,用粗体表示了.用的是sql server数据库
Dim res,cmd,sql
Set Res=createobject("adodb.recordset")
Set Cmd=createobject("adodb.command")
Cmd.activeconnection="Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=192.168.0.69"
Cmd.CommandType = 1
sql="select emp_id,fname from dbo.employee"
Cmd.CommandText = sql
Set res = Cmd.Execute()
i=1
While not res.eof
logid = res("emp_id").value
logname=res("fname").value
print logid
pint logname
i=i+1
res.movenext
wend
Set res = nothing
Set cmd.ActiveConnection = nothing
Set Cmd= nothing
作者: walker1020 时间: 2007-6-20 09:33
Thanks a lot
作者: cute 时间: 2007-10-29 15:15
网上的例子都是ODBC的,请教楼主JDBC的怎么连接,获取数据?
不懂JDBC,依葫芦画不出瓢来-_-#
作者: cheryl 时间: 2008-3-13 13:58
很好的例子,赞一个!
作者: tiger_86 时间: 2008-3-13 15:07
谢谢lz
作者: log_1 时间: 2008-3-14 14:13
谢了
作者: angelia_liu 时间: 2009-2-16 18:19
学习了,谢谢楼主
作者: free1998 时间: 2009-2-16 18:40
不错,赞一个
作者: yuyunlu 时间: 2009-3-9 21:49
还没到这个深度 支持一下
作者: luxiuxiu1987 时间: 2010-9-26 17:14
支持,先收藏
作者: lyscser 时间: 2010-9-26 19:41
用ORARLEDB.1是不是好些?
作者: lyscser 时间: 2010-9-26 19:57
本帖最后由 lyscser 于 2010-9-26 20:04 编辑
之前有个大佬给出过各种连接数据库的不同写法
一、SQL Server格式(本地无需安装SQL Server) connectionstring(连接字符串):
1.本地没有创建数据源的方式
DRIVER=SQL Server;SERVER=数据库IP地址;UID=用户名;WD=密码;APP=Microsoft Office 2003;WSID=本地主机名;DATABASE=数据库名
实例:
DRIVER=SQL Server;SERVER=10.160.11.10;UID=sa;WD=sa;APP=Microsoft Office 2003;WSID=RJHLJUN;DATABASE=dcwork
2.本地已创建数据源的方式
DSN=数据源名称;UID=用户名;WD=密码;APP=Microsoft Office 2003;WSID=数据库的主机名;DATABASE=数据库名
实例:
DSN=LocalServer;UID=sa;WD=sa;APP=Microsoft Office 2003;WSID=RJDCWORKTEST;DATABASE=dcwork
二、DB2格式:
(本地至少安装DB2 Run-Time Client Lite)
connectionstring(连接字符串):
1.本地没有创建数据源的方式
DRIVER={IBM DB2 ODBC DRIVER};UID=用户名;WD=密码;MODE=SHARE;DBALIAS=数据库名;
实例:
DRIVER={IBM DB2 ODBC DRIVER};UID=db2admin;WD=db2admin;MODE=SHARE;DBALIAS=DCWORK;
2.本地已创建数据源的方式
DSN=数据源名称;UID=用户名;WD=密码;MODE=SHARE;DBALIAS=DCWORK;
实例:
DSN=DWCORKDB2;UID=db2admin;WD=db2admin;MODE=SHARE;DBALIAS=DCWORK;
三、Oracle格式:(本地需要安装Oracle ODBC DRIVER)
connectionstring(连接字符串):
1.本地没有创建数据源的方式
DRIVER={Oracle in OraHome92};SERVER=数据库服务名;UID=用户名;WD=密码;DBQ=数据库名;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T; RST =T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;FC=10;TLO=O;
实例:
DRIVER={Oracle in OraHome92};SERVER=DCWORK;UID=DCWORK;WD=DCWORK; DBQ=DCWORK;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;FC=10;TLO=O;
2.本地已创建数据源的方式
DSN=数据源名称;UID=用户名;WD=密码;DBQ=数据库名; DBA=W; APA=T; EXC=F; FEN=T; QTO=T; FRC=10; FDL=10; LOB=T; RST=T; GDE=F; FRL=F; BAM=IfAllSuccessful; MTS=F; MDI=F; CSR=F; FWC=F; PFC=10; TLO=0;
实例:
DSN=dcworkoracle;UID=DCWORK;DBQ=DCWORK;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;FC=10;TLO=0;
作者: lyscser 时间: 2010-9-26 20:06
调存储过程的实例,不过连接方式可以参照上文修改,这里只是体现出有数据源的情况
Ø 无结果返回
Dim adoconn 'Connection Object
Dim adocomm 'Connection Command
Set adoconn = CreateObject("ADODB.Connection")
Set adocomm = CreateObject("ADODB.Command")
adoconn.Open "DSN=cowstg;UID=user;WD=asdf4321;SERVER=cowstg"
adocomm.ActiveConnection = adoconn
adocomm.CommandType = 4
adocomm.CommandText ="practice" '包名称
adocomm.Execute
Set adocomm = Nothing
Set adoconn = Nothing
Ø 有结果返回
Set con = CreateObject("ADODB.Connection")
con.open "DSN=QTP_PAS;SERVER=cowstg;UID=pascde;WD=****;"
set mycommand=CreateObject("adodb.command")
mycommand.CommandType=4
mycommand.CommandText="pas_cp_upload_pkg.get_invest_account"
mycommand.Parameters.Append mycommand.CreateParameter("memno",200,1,60,"MC*12")
mycommand.Parameters.Append mycommand.CreateParameter("countype",200,1,60,"03")
mycommand.Parameters.Append mycommand.CreateParameter("counsource",200,1,60,"01")
mycommand.Parameters.Append mycommand.CreateParameter("taxtype",200 ,1,60,"02")
mycommand.Parameters.Append mycommand.CreateParameter("fundid",200,1,60,"MC*21")
mycommand.Parameters.Append mycommand.CreateParameter("balance",200 ,2,60)
mycommand.Parameters.Append mycommand.CreateParameter("status",200,2,60)
set mycommand.ActiveConnection=con
mycommand.execute
msgbox mycommand.Parameters("balance")
msgbox mycommand.Parameters("status")
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) |
Powered by Discuz! X3.2 |