51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 10496|回复: 12
打印 上一主题 下一主题

[Robot] 用ODBC连接的疑惑。。。。。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-4-1 09:23:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
te是一个sql server的表
id     c1      c2
1      a       1
2      b       2
3      c       3
4      d       4
在msgbox里显示的是1,2,C,4。。。。。。。想取第2列。。。。也不会。。。。。。。。
'$Include "sqautil.sbh"
Sub Main
    Dim Result As Integer
    dim out1(1 to 4,1 to 1) as Variant
    dim out2(1 to 4,1 to 1) as Variant
    dim connection,i as long
    Dim retcode As Variant
    dim outputstr,query as string
    i=1
    while i<5
    connection = SQLOpen("DSN=te", outputstr,)
    query="select * from te"
    retcode = SQLExecQuery(connection,query)
    retcode = SQLRetrieve(connection,out1())
    msgbox  out1(i,1)
'    sqaconsolewrite out1(1,i)
    retcode = SQLClose(connection)
   i=i+1
   wend
End sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
 楼主| 发表于 2005-4-1 12:40:48 | 只看该作者
把query改成query="select c1 from te",只能取到第一行。其他行都没有取出来,msgbox没有任何内容
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-4-1 22:10:23 | 只看该作者
楼主的代码有问题,修改代码如下:
'$Include "sqautil.sbh"
Sub Main
    Dim Result As Integer
    dim out1(1 to 3,1 to4) as Variant
   
    dim connection,i as long
    Dim retcode As Variant
    dim outputstr,query as string
    i=1
   
    connection = SQLOpen("DSN=te", outputstr,)
    query="select * from te"
    retcode = SQLExecQuery(connection,query)
    retcode = SQLRetrieve(connection,out1())
   while i<5
        msgbox  out1(i,1)
        '        sqaconsolewrite out1(1,i)
        i=i+1
   wend
   retcode = SQLClose(connection)

End sub
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2005-4-2 14:33:53 | 只看该作者
Originally posted by pcl2004_27 at 2005-4-1 10:10 PM:
楼主的代码有问题,修改代码如下:
'$Include "sqautil.sbh"
Sub Main
    Dim Result As Integer
    dim out1(1 to 3,1 to4) as Variant
   
    dim connection,i as long
    Dim retcode ...

感谢pcl的指点,我修改代码如下,终于取到了第2列。
'$Include "sqautil.sbh"
Sub Main
    Dim Result As Integer
    dim out1(1 to 3,1 to 4) as Variant
   
    dim connection,i as long
    Dim retcode As Variant
    dim outputstr,query as string
    i=1
   
    connection = SQLOpen("DSN=te", outputstr,)
    query="select * from te"
    retcode = SQLExecQuery(connection,query)
    retcode = SQLRetrieve(connection,out1())
   while i<5
        msgbox  out1(2,i)
        '        sqaconsolewrite out1(1,i)
        i=i+1
   wend
   retcode = SQLClose(connection)

End sub
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-4-18 16:16:07 | 只看该作者
我只想把第1列的数据存入指定的文本中,添了一句代码,如下:

'$Include "sqautil.sbh"
Sub Main
    Dim Result As Integer
    dim out1(1 to 8,1 to 29) as Variant
   
    dim connection,i as long
    Dim retcode As Variant
    dim outputstr,query as string
    i=1
   
    connection = SQLOpen("DSN=LocalServer;UID=saWD=88888", outputstr,)
    query="select * from qwe"
    retcode = SQLExecQuery(connection,query)
    retcode = SQLRetrieve(connection,out1())
    while i<30
        msgbox  out1(1,i)
        'sqaconsolewrite out1(1,i)
        i=i+1
    wend
    retcode = SQLRetrieveToFile(connection,"c:\test.txt")
    retcode = SQLClose(connection)

End sub

但是文本中是存放的整个表的内容。。。。我得代码哪里错了呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-8-17 12:53:58 | 只看该作者

如何把数据库的密码写到脚本中?

描述:

    通过ODBC,robot已经与oracle连接好了,但是每次运行robot时,总是弹出 输入数据库密码的提示,输入完密码之后,才会运行下面的操作;

我的问题是:
   如何把数据库的密码直接写到脚本中,才不会运行robot时,弹出输入密码的提示框?
   知道的朋友,能否告知一下?多谢!:p
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-8-17 12:56:48 | 只看该作者

呵呵,我已经解决了

呵呵,我已经解决了
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-8-19 15:22:14 | 只看该作者
解决了为什么不把你的成果和大家一起分享呢?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-9-9 16:54:14 | 只看该作者
我完善了一下,只要在本地建立一个test数据库,然后建立一个TE表,修改一下连接登陆名字就OK了!

'$Include "sqautil.sbh"

Sub Main
    Dim Result As Integer
    dim out1(1 to 3,1 to 4) as Variant
   
    dim connection,i as long
    Dim retcode As Variant
    dim cnStr,outputstr,query as string
    i=1
    cnStr="driver={SQL Server};server=(local);uid=sa;pwd=;database=test"
    'cnStr="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=test;Data Source=(local);Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=TEST;Use Encryption for Data=False;Tag with column collation when possible=False"
    connection = SQLOpen(cnStr,outputstr,prompt:=4)
    query="select * from te"
    retcode = SQLExecQuery(connection,query)
    if retcode < 0 then
        msgbox "query error!"
    end if
   
    retcode = SQLRetrieve(connection,out1())
    if retcode < 0 then
        msgbox "retrieve error!"
    end if
   while i<5
        msgbox  out1(2,i)
        '        sqaconsolewrite out1(1,i)
        i=i+1
   wend
   retcode = SQLClose(connection)
   
End sub

[ Last edited by snowflake on 2005-9-10 at 08:37 ]
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-9-14 10:55:31 | 只看该作者
顶顶顶
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-4-23 14:26:14 | 只看该作者
有点看不懂了
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-1-22 21:13:43 | 只看该作者
收益匪浅,学习……
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-1-25 11:07:57 | 只看该作者
不太明白
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 01:24 , Processed in 0.076590 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表