oftime999 发表于 2007-6-18 14:56:46

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:07

Thanks a lot

cute 发表于 2007-10-29 15:15:31

网上的例子都是ODBC的,请教楼主JDBC的怎么连接,获取数据?
不懂JDBC,依葫芦画不出瓢来-_-#

cheryl 发表于 2008-3-13 13:58:54

:victory: 很好的例子,赞一个!

tiger_86 发表于 2008-3-13 15:07:20

谢谢lz

log_1 发表于 2008-3-14 14:13:29

谢了

angelia_liu 发表于 2009-2-16 18:19:54

学习了,谢谢楼主

free1998 发表于 2009-2-16 18:40:09

不错,赞一个:victory:

yuyunlu 发表于 2009-3-9 21:49:07

还没到这个深度:loveliness: 支持一下

luxiuxiu1987 发表于 2010-9-26 17:14:44

支持,先收藏

lyscser 发表于 2010-9-26 19:41:05

用ORARLEDB.1是不是好些?

lyscser 发表于 2010-9-26 19:57:41

本帖最后由 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=dcwork2.本地已创建数据源的方式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:02

调存储过程的实例,不过连接方式可以参照上文修改,这里只是体现出有数据源的情况
Ø无结果返回
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")
页: [1]
查看完整版本: QTP从数据库获取数据的例子