ChanJian910 发表于 2009-9-30 15:22:56

QTP连接SQL SERVER执行查询语句的问题

背景:我在数据库中新建了一个QTPtest的数据库,在其上新建了一个test1的表,表里面为2行5列的数据,列名依次为aaa,bbb,ccc,ddd,eee,第一行分别存储1,2,3,4,5,第二行分别对应存储6,7,8,9,10,现在我想是通过执行select aaa from test1 where bbb='2'的语句,获取aaa列对应的数据1,并赋给变量A。但是每次执行到rs.open sql,con的时候就会提示对象test1找不到,请教高人赐教这是为啥,代码该如何修改。

'定义变量
Dim con
Dim conset
Dim rs
Dim sql
Dim names
Dim i

'建立连接
Set con=createobject("adodb.connection")
conset="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;PWD=1111;Data Source=10.206.20.8;InitialCatalog=test1"

con.open conset

'查看连接是否已建立
Ifcon.state=0 Then
msgbox"failed"
else
msgbox"pass"
End If

'建立空的记录集
Set rs=createobject("adodb.recordset")

'设置SQL语句
sql="select * from test1 where bbb='2'"

'打开记录集
rs.open sql,con

rs.Open
rs.MoveFirst

'循环取数,数据表列名为aaa/bbb/ccc/ddd/eee
      Dim A
    A = rs("aaa").value

    rs.movenext

'关闭连接
con.close
'释放Connection对象
Set con=nothing

[ 本帖最后由 ChanJian910 于 2009-9-30 15:24 编辑 ]

ChanJian910 发表于 2009-10-9 10:39:55

米人回答啊?

hsjzfling 发表于 2009-10-9 16:04:05

InitialCatalog=test1
test1这个库没找到

ChanJian910 发表于 2009-10-9 16:14:29

原帖由 hsjzfling 于 2009-10-9 16:04 发表 http://bbs.51testing.com/images/common/back.gif
InitialCatalog=test1
test1这个库没找到
执行rs.movefist的时候提示“对象关闭时,不能执行操作”又如何解决呢?

ChanJian910 发表于 2009-10-9 16:28:58

问题已经解决,数据源的配置有问题,贴上可执行代码
'定义变量
Dim con
Dim conset
Dim rs
Dim sql
Dim names
Dim i

'建立连接
Set con=createobject("adodb.connection")
conset="SQLOLEDB.1;Persist Security Info=False;User ID=sa;PWD=1111;Data Source=datasource_gzmmis"

'/打开数据源链接
con.open conset

'查看连接是否已建立
Ifcon.State=0Then
        msgbox"failed"
else
        msgbox"pass"
End If

'建立空的记录集
Set rs=createobject("adodb.recordset")

'设置SQL语句
sql="use QTPtest select bbb from test1 where aaa='chenjian2'"

''打开记录集
rs.open sql,con,1,2
'rs.open"use QTPtest select bbb from test1 where aaa='1'",con,1,2

rs.Movefirst
msgbox rs("bbb").value


'关闭连接
con.close

'释放Connection对象
Set con=nothing
页: [1]
查看完整版本: QTP连接SQL SERVER执行查询语句的问题