当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 使用Robot连接SQL的例子

MSSQL
查看当前进程,或死锁进程,并能自动杀掉死进程
配置SQL Server 2000选项
使用SQL Mail收发和自动处理邮件中的扩展存储过程简介
如何删除数据库中的冗余数据(翻译)
SQL SERVER 2000系统支持的跟踪函数
异构数据库之间的导入导出
一个四用户信息同步更新的存储过程
Oracle数据库诊断案例-redo log日志组处于高激活状态
如何手动删除 SQL Server 2000 默认实例、命名实例或虚拟实例
ORACLE优化器
PL/SQL开发中动态SQL的使用方法
解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案
使用正规表达式编写更好的SQL
查看SQL Server数据空间分配情况
SQL Server编写存储过程小工具(一)
SQL Server编写存储过程小工具(二)
SQL Server编写存储过程小工具(三)
在IE中直接连接SQL数据库
Sql server数据库备份还原另一方法
Windows 2000下优化Oracle9i性能

MSSQL 中的 使用Robot连接SQL的例子


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 136 ::
收藏到网摘: n/a

这是使用Robot连接TestDirector数据库的一个例子。
首先在控制面板的ODBC中新建一个DSN,选择SQL Server连接,名字是td_test(这个可以自己随便取),连接服务器选择你TD库保存的DB服务器名称。连接你想要查询的库名,我这里是gpt_gogs_db,登录名是td,密码tdtdtd(在TD中新建一个project时,数据库默认所有者为td,密码为tdtdtd),这里仅两不要使用权限过大的用户,因为在脚本中是要明文写入密码的。最后测试一下数据源。

开始编写脚本了:
 

====================================================================== Sub Main Dim Result As Integer Dim connect as long Dim outputstr,query as string Dim out(1 to 2,1 to 16) as variant '这里定义一个二维数组,第一维表示数据库中查询结果中的列,
第二维表示查询结果中的行,可以看到这里可以一次查询并存储两行两列 dim retcode as variant dim i as integer
'Initially Recorded: 2005-7-18 22:16:12'scrīpt Name: sqltest connect = SQLOpen("DSN=td_test;UID=td;PWD=tdtdtd",outputstr) '注意这里各个参数和等号及等号后面赋值是紧跟着的,没有空格,
'因为如果有空格的话连接的时候连空格也算上 '这样的话连接的时候就会提示选择DSN或是输入用户名,密码 query = "select bg_bug_id,bg_status from bug where bg_subject='113'" '最好在查询分析器中执行一下这条语句 call SQLExecquery(connect,query) call SQLRetrieve(connect,out()) msgbox out(1,1) msgbox out(2,1) msgbox out(1,2) msgbox out(2,2) '显示保存的结果 ' next call sqlclose(connect) End Sub =================================================================================

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这里尤其注意那个设置二维数组的地方,这个二维数组可以一次存储多个查询结果,其结构就类似SQL Server中查询分析器查询后的结果。

如果我生明了两个二维数组即可保存不同的查询结果。

其读取查询内容的函数也应该重点看看。

如果想要返回不同的查询语句结果,应该这样写:

 

================================================================================= Sub Main Dim Result As Integer Dim connect as long Dim outputstr,query1,query2 as string Dim out1(1 to 2,1 to 1) as variant Dim out2(1 to 2,1 to 1) as variant '这里定义一个二维数组,第一维表示数据库中查询结果中的列,第二维表示查询结果中的行,
可以看到这里可以一次查询并存储两行两列 dim retcode as variant dim i as integer
'Initially Recorded: 2005-7-18 22:16:12'scrīpt Name: sqltest connect = SQLOpen("DSN=td_test;UID=td;PWD=tdtdtd") '注意这里各个参数和等号及等号后面赋值是紧跟着的,没有空格,
'因为如果有空格的话连接的时候连空格也算上 '这样的话连接的时候就会提示选择DSN或是输入用户名,密码 query1 = "select bg_bug_id,bg_status from bug where bg_subject='113'" '最好在查询分析器中执行一下这条语句 query2 = "select bg_bug_id,bg_severity from bug where bg_subject='113'" '不同的查询语句 call SQLExecquery(connect,query1) call SQLRetrieve(connect,out1()) '执行完查询语句后赋值给一个二维数组,切记! call SQLExecquery(connect,query2) call sqlretrieve(connect,out2()) msgbox out1(1,1) msgbox out1(2,1) msgbox out2(1,1) msgbox out2(2,1) '显示保存的结果 ' next call sqlclose(connect) End Sub