51Testing软件测试论坛

标题: VBS 用adodb链接excel [打印本页]

作者: zhangkun90    时间: 2013-6-17 19:39
标题: VBS 用adodb链接excel
用adodb链接excel的 查询操作是查询出来了,但是更新语句却错误例子如下
constr  = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FilePath & ";Extended Properties=""Excel 8.0;HDR=yes;IMEX=2"""
sqlstr="UPDATE [Sheet1$] SET result='Fail' where TestCaseID='4' "
Set adoconn = CreateObject("adodb.Connection")
        adoconn.Open constr
        Set ConRst = adoconn.Execute(sqlstr)

执行上面语句提示 :标准表达式中数据类型不匹配。

想知道如何才能正确的更改excel表中的数值  这个update语句应该怎么写呢   求解答 谢谢!
作者: 黑羽祭    时间: 2013-6-19 09:43
回复 1# zhangkun90


    用adodb链接excel?
用EOM玩Excel吧
作者: zhangkun90    时间: 2013-6-19 09:55
回复 2# 黑羽祭


    嗯哪,我之前用的是EOM+字典对象 来操作excel,那天无意中看到有人用ado进行对excel操作,哈哈突然就好奇 如何进行select和update。 嘿嘿 谢谢解答
作者: zhangkun90    时间: 2013-6-19 09:56
回复 1# zhangkun90


    上面那个update语句已经解决,update语句应该字段用“”号来标识,而不是‘’,还有那个IMEX=0 就哦了
作者: 黑羽祭    时间: 2013-6-19 11:10
嗯~~
作者: joykao    时间: 2013-6-19 14:51
这个直接把Excel当数据源来玩啦。。。不错。。。把测试数据全填在excel中也是个不错的idea哇。。。之前玩了个java把excel当数据源。。。
作者: liqiuheng    时间: 2013-6-19 18:50
你是怎么改的,我改成你说的

"UPDATE [Sheet1$] SET result="Fail" where TestCaseID='4' "

还是不行
作者: zhangkun90    时间: 2013-6-20 08:45
回复 7# liqiuheng


    testcaseid="4"  这个引号呢 需要用 2个““  str ””  来表示1个引号
作者: zhangkun90    时间: 2013-6-20 08:58
回复 6# joykao


    嘿嘿对啊,之前用eom的时候感觉读取速度太慢了,之后配合字典对象搞起,感觉速度挺好的。那天无意中看到一个人的博客,就试了下,哈哈感觉好专业的样子
作者: 黑羽祭    时间: 2013-6-20 09:28
我喜欢一下子把Excel的数据都读出来,然后处理,放到不同的变量、数组、字典里,不用每次都读Excel。
写Excel用的不多。
作者: zhangkun90    时间: 2013-6-20 16:04
回复 10# 黑羽祭


    哦这样啊,也就是说比如说我这个excel的sheet页中有五行的测试用例其中有几个字段是需要进行读取操作的,您的意思是只读一次excel 将独处来的数据每一行定义成一个字典对象,之后在进行循环调用是么,这样的话就是说一个sheet页的用例只会运行一次,大大减少了运行时间是把
作者: 黑羽祭    时间: 2013-6-21 09:03
回复 11# zhangkun90


    是的,而且我还先定义了数组,再把数组设成字典的用。
所有测试用例,一个字典数组搞定。
作者: zhangkun90    时间: 2013-6-21 13:50
回复 12# 黑羽祭


    对奥,嘿嘿 多谢点播,我好想明白了点什么 哈哈哈  谢谢哈
作者: 黑羽祭    时间: 2013-6-21 14:57
回复 13# zhangkun90


    呵呵,看来是有点想法了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2