'$Include "sqautil.sbh"
Sub Main
Dim Result As Integer
'定义一个数值,用来保存从数据库表中取出的数据
dim out1(1 to 3,1 to 30) as Variant
'定义用于连接数据库的变量connection,这个变量一定要是long型
'定义从表中读取的数据的个数i
dim connection,i as long
'定义执行sql语句后返回的变量retcode,此变量在后面被重复使用了
Dim retcode As Variant
'outputstr 是SQLOpen的第二个参数,可选,但没明白是什么意思
'query 存放查询语句
dim outputstr,query as string
'初始话i,从第一行开始读取
i=1
'连接数据库,下面有三种写法,均可
'首先在管理工具->数据源中做好一个sqlserver2000的数据源“zlsqldb”,然后用SQLOpen函数打开数据库
connection = SQLOpen("DSN=zlsqldb",outputStr, prompt:=3)
'类似于上面,使用已经做好的数据源,只是语句中加了用户名和密码,运行时可以不必输入用户名和密码
'connection = SQLOpen("DSN=zlsqldb;UID=sa;PWD=sa",outputStr, prompt:=4)
'与上面的有所不同,不使用做好的数据源,而是直接在语句中写好连接信息,信息包括:
'"driver="数据源的类型;server=数据库服务器的名称;UID,PWD=登入名,密码;database=访问的数据库名
'connection = SQLOpen("driver={SQL Server};server=(local);UID=sa;PWD=sa;database=robot")
'把查询语句存放在query字符串中
query="select * from robottest"
'执行查询语句
retcode = SQLExecQuery(connection,query)
'得到语句执行后的值,放到out1数组里面
retcode = SQLRetrieve(connection,out1())
while i<11
'在对话框中显示数组中的值是否正确,检查一下
' msgbox "id: "&out1(1,i) &" name: " & out1(2,i)&" password: " & out1(3,i)
'在robot的控制台窗口显示数组中的值,这个比较方便
sqaconsolewrite "id: "&out1(1,i) &" name: " & out1(2,i)&" password: " & out1(3,i)
i=i+1
wend
'关闭数据库
retcode = SQLClose(connection)