vb中操作包含sql语句的文本

1825 2003-12-28 09:54:05
程序中读取包含sql的文本(创建数据库用)后执行。

ps:
1.不用FileSystemObject读取并解析后再执行.---太麻烦
2.不用osql或isql ---出现dosexe窗口,烦
3.29号24点以前结贴,无法解决的话跟贴有分:)
...全文
92 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
1825 2003-12-29
  • 打赏
  • 举报
回复
多谢了!!!
第一个和FileSystemObject差不多,原来没想到rst可以一次处理n条insert或update语句。刚刚试了一下居然可以.
用vb直接调osql会出来个dosexe窗口,用户顺手关掉可就完了.没用过xp_cmdshell 学习学习:).

ps:
7.0支持xp_cmdshell吗?
yoki 2003-12-29
  • 打赏
  • 举报
回复
上述CreateDataBase过程,你只要定义一个到服务器的连接(如:cn)即可

然后调用: call CreateDataBase(cn,"c:\myquery.sql")
yoki 2003-12-29
  • 打赏
  • 举报
回复
为什么不用osql呢,用它更简单,不是吗??

比如:vb中
dim cn as New ADODB.Connection
dim sql as string

cn.open ".......到服务器的连接"
sql="master.dbo.xp_cmdshell ' osql -U username -P password -i c:\myquery.sql'"
cn.execute sql
yoki 2003-12-29
  • 打赏
  • 举报
回复
Private Sub CreateDataBase(cnDataBase as connect,sqlFile As String)
Dim strSql As String, strTmp As String

Open sqlFile For Input As #1
strSql = ""
Do While Not EOF(1)
Line Input #1, strTmp
If UCase(strTmp) = "GO" Then
cn.Execute strSql
strSql = ""
Else
strSql = strSql & strTmp & vbCrLf
End If
Loop
If strSql <> "" Then cnDataBase.Execute strSql
Close #1
End Sub
1825 2003-12-29
  • 打赏
  • 举报
回复
读取包含sql语句的文本文件.
为了创建数据库用的.
cncfish 2003-12-28
  • 打赏
  • 举报
回复
sql语句在VB中本来就是字符串!
hhjjhjhj 2003-12-28
  • 打赏
  • 举报
回复
VB中的SQL语句本来就是字符串,从文本中读取就可用了啊。
northwolves 2003-12-28
  • 打赏
  • 举报
回复
?????????
直接读入到字符串不可以?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧