用vb如何调用*.sql文件?

lczddd 2003-10-18 08:42:23
我的脚本放到sql文件中了,我如何执行??赫赫
...全文
55 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lczddd 2003-10-19
  • 打赏
  • 举报
回复
如果是单存的字符串处理,那应该没有什么意义了,好多软件都是用sql文件的,比如sql pack3,好多sql文件,我觉得不可能是字符串的操作
easydone 2003-10-19
  • 打赏
  • 举报
回复

这是我的一段代码,是使用SQLDMO创建sql server数据库的一部分
总体的思路就是将.sql文件读取到string中,然后将该字符串作为参数(sql语句)传递给对象,如:adodb.connection等。
Private Sub cmdCreate_Click()
Dim NativeLogin As New SQLDMO.Login
Dim SysDataBase As New SQLDMO.Database
Dim SysFileData As New SQLDMO.DBFile
Dim SysLogFile As New SQLDMO.LogFile
Dim SysRole As New SQLDMO.DatabaseRole
Dim SysUser As New SQLDMO.User
Dim sql1 As String * 61800
Dim Fno As Integer

On Error GoTo errhunter
lblShow.Caption = "正在检测系统文件完整性……"
If Dir(App.Path + "\ct.sql") = "" Then
MsgBox "系统数据文件[ct.sql]丢失,数据库安装无法完成!", vbCritical, "错误"
Exit Sub
End If

PBarShow.Value = 6
lblShow.Caption = "正在装载数据库建表文件……"

Fno = FreeFile
Open App.Path + "\ct.sql" For Binary As #Fno
Get #Fno, , sql1
Close #Fno
PBarShow.Value = 9
If sql1 = "" Then
MsgBox "数据文件装载失败,数据库安装无法完成!", vbCritical, "错误"
Exit Sub
End If

Me.MousePointer = 11


lblShow.Caption = "开始创建数据库……"
SysDataBase.Name = SysDBname
SysFileData.Name = SysDBname
PBarShow.Value = 10
SysFileData.PhysicalName = SqlSrv.Registry.SQLDataRoot & "\DATA\" & SysDBname & ".mdf"
SysFileData.PrimaryFile = True
SysFileData.Size = 20
PBarShow.Value = 30
SysFileData.FileGrowthType = SQLDMOGrowth_Percent
SysFileData.FileGrowth = 50
PBarShow.Value = 40
lblShow.Caption = "正在创建数据库数据文件……"
SysDataBase.FileGroups("PRIMARY").DBFiles.Add SysFileData
PBarShow.Value = 50

lblShow.Caption = "开始创建数据库日志文件……"
SysLogFile.Name = SysDBname & "Log"
SysLogFile.PhysicalName = SqlSrv.Registry.SQLDataRoot & "\DATA\" & SysLogFile.Name & ".ldf"
PBarShow.Value = 60
SysLogFile.Size = 5
lblShow.Caption = "正在创建数据库日志文件……"
SysDataBase.TransactionLog.LogFiles.Add SysLogFile
PBarShow.Value = 65
lblShow.Caption = "正在完成数据库文件的创建……"
SqlSrv.Databases.Add SysDataBase
PBarShow.Value = 70

SysRole.Name = "admin@zdh.net"
SysRole.AppRole = True
SysRole.Password = "password!"
SqlSrv.Databases("" & SysDBname & "").DatabaseRoles.Add SysRole
PBarShow.Value = 81

If Not SqlSrv.IsLogin("user@zdh.yh") Then
Set NativeLogin = Nothing
NativeLogin.Name = "user@zdh.yh"
NativeLogin.Database = SysDBname
NativeLogin.SetPassword "", "password"
SqlSrv.Logins.Add NativeLogin
End If
Set SysUser = Nothing
SysUser.Name = "user@zdh.yh"
SysUser.Login = "user@zdh.yh"
SqlSrv.Databases("" & SysDBname & "").Users.Add SysUser

PBarShow.Value = 84
'SqlSrv.ServerRoles("public").AddMember "user@zdh.yh"

lblShow.Caption = "正在设置本系统的缺省数据库……"
SqlSrv.Logins("user@zdh.yh").Database = SysDBname

lblShow.Caption = "正在数据库中建表……"
SqlSrv.Databases("" & SysDBname & "").ExecuteImmediate sql1
PBarShow.Value = 90
lblShow.Caption = "正在创建办公系统内置角色……"

PBarShow.Value = 100
Me.MousePointer = 0
lblShow.Caption = "安装创建完成!"
cmdCorF.Caption = "完 成"
FrmBackGroud.lblfinish.Visible = True
IsBlue = False
FrmBackGroud.Refresh
cmdCreate.Enabled = False
MsgBox "数据库创建成功!", vbOKOnly, "完成"
cmdCorF_Click
Exit Sub

errhunter:
Me.MousePointer = 0
PBarShow.Value = 100
lblShow.Caption = "数据库创建失败!若要下次正常执行,您必须手工删除创建失败的数据库及相关登录。"
WIW "数据库安装:", Err.Description
MsgBox "安装过程中出现如下错误:" & Chr(13) & Err.Description & "安装异常终止!", vbCritical, "错误"
End Sub
benjamin8064 2003-10-19
  • 打赏
  • 举报
回复
因为sql文件是纯文本文件,所以我觉得应该采用:
1、首先按照文本文件方式打开该sql文件,
2、然后再执行里面的内容即可。
fafan 2003-10-19
  • 打赏
  • 举报
回复
存储过程
lczddd 2003-10-19
  • 打赏
  • 举报
回复
霍,没有人会???
vb.net基础教程 第一部分 Visual Basic.net基础 1.vb. net介绍 2.vb.net的优点 3.新建一个vb.net项目 4.编写第一个vb.net应用程序 第二部分 vb.net的语法部分 1.vb.net的Numeric数据类型 2.vb.net的Byte数据类型 3.vb.net的String数据类型 4.vb.net的Boolean数据类型 5.vb.net的Date数据类型 6.vb.net的Object数据类型 7.vb.net的用户自定义类型 8.vb.net的数组定义 9.vb.net的数组列表 10.vb.net的多维数组 11.vb.net类型转换函数 第三部分 visual basic.net的运算 程序设计时经常用到的有6种运算:算术运算(Arithmetic)、赋值运算(Assignment)、二进制运算(Bitwise)、比较运算(Comparison)、连接运算(concatenation)及逻辑运算(Logical),下面对这6种运算进行简单介绍。 1.vb.net的算术运算 2.vb.net的赋值运算符 3.vb.net的二进制运算符 4.vb.net的比较运算符 5.vb.net的连接运算符和逻辑运算符 6.vb.net运算符的优先级 (一) Visual basic.net的常量和变量 1.vb.net的常量 2.vb.net的变量 (二) Visual basic.net的流程和控制结构 1.vb.net条件分支语句 2.vb.net的循环语句 (三) vb.net的过程和函数 1.vb.net的Sub过程 2.vb.net的Funtion过程 3.在vb.net中调用过程 4.如何向过程传递参数 (四)vb.net的类和对象基础 第四部分 visual basic.net的常用控件 1.vb.net的Label控件 2.vb.net的Button控件 3.vb.net的Textbox控件 4.vb.net的MainMenu控件 5.vb.net的Checkbox控件 6.vb.net的Radiobutton控件 7.vb.net的GroupBox控件 8.vb.net的PictureBox控件 9.vb.net的ListBox控件 10.vb.net的CheckedListBox控件 11.vb.net的Combobox控件 12.vb.net的ListView控件 13.vb.net的TreeView控件 14.vb.net的ImageList控件 15.vb.net的Timer控件 16.vb.net的HScrollBar和VScrollBar控件 17.vb.net的ProgressBar控件 18.vb.net的ToolBar控件 19.vb.net的StatusBar控件 20.Vs 2005的ToolStrip控件 21.Vs 2005的StatusStrip控件 22.Vs 2005的MenuStrip控件 第六部分 vb.net的OOP结构 1.什么是oop 2.vb.net的面向对象性 3.vb.net的共享成员(Share Members) 4.类模块和标准代码模块的区别和比较 5.对象浏览器 (一) 建立和使用对象 1.vb.net对象的建立和销毁:对象的生命周期 2.设置和重设vb.net的属性 3.用方法来表现动作 4.vb.net对象变量的声明 5.对一个对象进行多种操作 6.使用New关键字 7.如何释放对对象的引用 8.如何把对象传递到一个过程 (二) 在程序运行中得到一个类的信息: 用一个字符名称调用一个属性或者方法 (三) vb.net中的类、继承与多态性 1.vb.net中给一个类添加方法 2.命名属性、方法和事件 3.vb.net的事件和事件处理 4.类的继承(Inheritance) 5.vb.net继承的规则 6.用继承建立一个继承类 7.重载Windows控件 8.什么时候使用继承 9.什么是命名空间(Namespace) 10.vb.net继承的例子 11.vb.net中用继承实现多态性 12.vb.net中用接口实现多态性 第七部分 数据库访问技术 关于SQL语言的知识,请参考: sql语言教程及Sql语言基础 1.数据库基础知识 2.vb.net数据集(Datasets)的概念 3.什么是dao 4.Dao与Jet数据库引擎 5.Dao对象模型 6.远程数据对象RDO 7.Rdo对象模型 8.odbc api是什么 9.ODBC的结构 10.使用ODBC API访问数据库 11.ado数据对象 12.ado对象模型 13.ADO.NET简介 14.使用ADO.NET的基本方法 第八部分 vb.net的多线程 1.自由线程(Free Threading) 2.关于线程的参数和返回值的问题 3.vb.net的并发性问题 第九部分 vb.net的文件和出错处理 1.vb.net的出错处理 2.vb.net的多种出错处理(Multiple Exceptions) 3.vb.net的文件对象(file object) 4.vb.net文件处理的出错处理 5.检测文件的结束(Testing for End of File) 6.文件的静态方法(Static File Methods)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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