• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
笨笨笨笨
博客园    首页    新随笔    联系   管理    订阅  订阅

QTP连接数据库,并将数据保存至Excel中

网上有很多关于QTP连接数据库的文章,大部分都对,但还是有很多细节问题。今天自己尝试了一下,差点因为这些细节放弃,不过最终搞定了!
首先建立了一个数据库:QTPtest,然后建一章表test1,然后建立五列。
VBS连接此数据库并存Excel如下:
'定义变量
Dim con  
Dim conset
Dim xlsUrl
Dim rs
Dim sql
Dim names
Dim i

'创建连接对象
Set Excelobj=CreateObject ("Excel.Application") 
  
'指定一个已经存在的XSL文件路径
xlsUrl = "C:\blanktest1.xls"
 
'打开EXCEL
excelObj.workbooks.open(xlsUrl)   
  
'设置将数据放在EXCEL中的那一页上(索引从1开始)
Set sheetNew = excelObj.sheets.item(1)

'建立连接,这是一个麻烦点,我这里是连接本机的SQL数据库,Windows默认连接
Set con=createobject("adodb.connection") 
conset
="Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=QTPtest;Data Source=ASPBJGLL3H5810\SQLEXPRESS"
con.open conset

'查看连接是否已建立
If  con.state=0 Then
 
msgbox"failed"
 
else 
 
msgbox"pass"
End If
'建立空的记录集
Set rs=createobject("adodb.recordset")
'设置SQL语句
sql="select * from test1"
'打开记录集
rs.open sql,con
rs.MoveFirst

'循环取数,数据表列名为aaa/bbb/ccc/ddd/eee
 Do until rs.eof
    A 
= rs("aaa").value
    B 
= rs("bbb").value
    C 
= rs("ccc").value
    D 
= rs("ddd").value
    E 
= rs("eee").value
    sheetNew.cells(i
+1,1).value = A '列赋值
    sheetNew.cells(i+1,2).value = B '列赋值
    sheetNew.cells(i+1,3).value = C '列赋值
    sheetNew.cells(i+1,4).value = D '列赋值
    sheetNew.cells(i+1,5).value = E '列赋值
    i = i + 1
    rs.movenext
 
Loop

'文档为只读,目前无法保存,但实际数据已进入
ExcelObj.activeworkbook.saveas "C:\blanktest1.xls"

 
'关闭对象
ExcelObj.quit
'清空对象
set ExcelObj = nothing

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




posted @ 2009-09-01 18:20  笨笨笨笨  阅读(344)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3