kennychm 发表于 2013-8-15 16:09:29

QTP用ADO连接EXCEL如何获取该Excel数据的count

sqlConnection="DSN=Excel Files;DBQ=D:\1.xlsx" ------(excel有5条数据)
sqlCommand="Select * From "   
Set oExcel=CreateObject("ADODB.Connection")
oExcel.Open sqlConnection
Set oEData=oExcel.Execute(sqlCommand)
想得到Excel的数据记录行数,为什么用 oEData.RecordCount 得出的是0,

请有经验的老大请教一下!谢谢!

黑羽祭 发表于 2013-8-16 09:09:09

又是个用ADO读Excel的。
有谁是这么用的,出来回答一下吧~

feiyunkai 发表于 2013-8-19 15:58:46

本帖最后由 feiyunkai 于 2013-8-19 16:03 编辑

'连接字符串
sqlConnection="DSN=Excel Files;DBQ=D:\1.xlsx"
'查询语句
sqlCommand="Select * From "
'创建ADO对象   
Set oExcel=CreateObject("ADODB.Connection")
'打开ADO连接
oExcel.Open sqlConnection
'创建记录集
Set oEData=CreateObject("ADODB.Recordset")
'打开记录集
oEData.Open sqlCommand,oExcel,3,3
'获取记录集中记录条数
RowCount=oEData.RecordCount
msgbox RowCount
'关闭记录集
oEData.close
'关闭ADO连接
oExcel.close
'释放对象
set oEData=nothing
set oExcel=nothing

feiyunkai 发表于 2013-8-19 15:59:12

万恶的审核

本帖最后由 feiyunkai 于 2013-8-19 17:10 编辑

回复 1# kennychm

filepath="D:\1.xlsx"
'连接字符串
If ucase(right(filepath,4))=".XLS" Then
    sqlConnection= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath & ";Extended Properties=Excel 8.0"
else
    sqlConnection= "Provider=Microsoft.Ace.OLEDB.12.0;Data Source="& filepath &";Extended Properties=Excel 12.0"
End If
'查询语句
sqlCommand="Select * From "
'创建ADO对象   
Set oExcel=CreateObject("ADODB.Connection")
'打开ADO连接
oExcel.Open sqlConnection
'创建记录集
Set oEData=CreateObject("ADODB.Recordset")
'打开记录集
oEData.Open sqlCommand,oExcel,3,3
'获取记录集中记录条数
RowCount=oEData.RecordCount
msgbox RowCount
'关闭记录集
oEData.close
'关闭ADO连接
oExcel.close
'释放对象
set oEData=nothing
set oExcel=nothing

kennychm 发表于 2013-8-19 16:55:03

回复 3# feiyunkai

谢谢这位大哥的指点!:)
页: [1]
查看完整版本: QTP用ADO连接EXCEL如何获取该Excel数据的count