以前的学习经历...VB中如何执行sql批处理文件

2005年12月29日 22时40分

今天逛中心论坛看见有人问如何在VB中执行整个sql文件,偶试验了一下,可以做到! 基本的思路是这样的,读取sql文本,执行.(有点像废话..) 在这里要注意一个问题:"go",在sql批处理文本中,用"go"代表一个批处理命令的结束,也就是发送给服务器执行,而VB的ADO对象集合不支持批处理,当执行到"go"时会出错.我们可以判断当前读取行的内容是否为"go",如果是就证明前面的为一组sql命令,就马上执行掉,再读取下一批命令再执行,直到整个文本结束.下面通过一个例子说明一下.

test.sql内容:

use pubs
go
declare @a int
set @a=1
select @a
go

VB代码:

Dim con As New ADODB.Connection
Dim sql As String '存储一批sql命令
Dim temp As String '临时变量,存放sql文本每一行的内容
con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;initial Catalog=pubs;Data Source=X32" '打开连接
Open "test.sql" For Input As #1 '打开文件
    While Not EOF(1)
        Line Input #
1, temp                      '读取一行数据放到temp变量
        If Ucase(Trim(temp)) = "GO" Then         '如果读取到的为"go"就执行掉"go"前面的sql命令.
            con.Execute sql
            sql 
= Empty                          '清空上次执行的命令
        Else
            sql 
= sql & temp & Chr(10& Chr(13'连接sql命令
        End If
    
Wend
Close #
1

转载于:https://www.cnblogs.com/DeguangLi/archive/2010/05/31/1748388.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值