VB中如何直接调用.SQL脚本来生成数据库和数据表

时间:2021-11-11 12:22:53
VB中如何直接调用.SQL脚本来生成数据库和数据表(运用ADO)

17 个解决方案

#1


建数据库
strSql="CREATE DATABASE mydb"

建数据表
strSql=" CREATE TABLE [dbo].[TABLE1] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ) "

当作普通的Sql语句执行就可以了

#2


如楼上所说,写一条CREATE TABLE的语句赋给STRSQL。
dim rs as adodb.recordset
set rs=createobject(adodb.recordset)
rs.commandtext=strsql
rs.execute

#3


楼上的有点错误哦:
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim conn As New ADODB.Connection
conn.open ""(连接字符串)
strsql = ""
rs.Open strsql, conn
或者:
Dim comm As New ADODB.Command
Dim Conn As New ADODB.Connection
Conn.Open ""

strsql = ""
comm.CommandText = strsql
comm.Execute

#4


推荐你看介绍ado的使用的书

#5


to wutao411(了缘) 

谢谢,好久不写VB的程序了,有点记不清语法了,也懒得去查了。不好意思

#6


最好还是创建一个SQL文件以后,使用程序把这文件打开,再用ADODB.COMMAND进行运行. 如同 wutao411(了缘) 写的一样.

#7


我的意思如同tongls的想法一样~~~问题就是我先写好了一个比如a.sql脚本文件,如何把他在文件中自动调用其中的a.sql脚本~~~~现在在用SQL桌面平台MSDE

#8


用VB打开.SQL文件后直接执行里面的字符串就行,不用考虑是否换行的问题,只要能在查询分析器中执行就行。但是好象不能支持太大的脚本文件。

#9


能写个例子吗~~跪谢

#10


我忘了怎么打开文件了,不过很简单,你得到文件内容有用rs.open 文件内容 就可以了,一定行。

#11


如果明天有空,我再回。今天加晚班,马上回家了。

#12


还有更好的办法,可以用 “isqlw -Usa -P -ic:\脚本.sql -oc:\。。。。。.txt,”把这个语句放在一个.bat文件里,双击即可,会生成一个你命名的.txt文件,返回运行结果。在vb中可以用shell命令调用这个.bat

#13


还有更好的办法,可以用 “isqlw -Usa -P -ic:\脚本.sql -oc:\。。。。。.txt,”把这个语句放在一个.bat文件里,双击即可,会生成一个你命名的.txt文件,返回运行结果。在vb中可以用shell命令调用这个.bat
--------------
楼上的这个方法不错!

#14


Private Sub Command1_Click()
Dim a As New ADODB.Connection
Dim b As New ADODB.Command
Set a = New ADODB.Connection
a.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=G4FENG-TCI0N7A2"
Open "c:\test\aa.dat" For Input As #1
Input #1, ss
b.CommandType = adCmdText
b.CommandText = ss
Print ss
End Sub

仍然不行~~
aa.bat文件:isqlw -Usa -P -ic:\test\ddd.sql -oc:\test\aa.txt
ddd.sql文件:create database tt
go
use tt
create table www(aa char(10) check(aa like '%@%') primary key,bb char(10))
go

显示连接出错

#15


上面提示什么错误?
比如要执行下面脚本语句:
use test_01
insert into
 a values('qq1')
insert into a values('qq2')
====================================执行方法========================================
strsql="use test_01" & vbcrlf & "insert into" & vbcrlf & " a values('qq1')" & vbcrlf & "insert into a values('qq2')"
rs.open strsql
可以成功执行。

#16


Private Sub Command1_Click()
Dim a As New ADODB.Connection
Dim b As New ADODB.Command
Set a = New ADODB.Connection
a.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=G4FENG-TCI0N7A2"
Open "c:\test\aa.dat" For Input As #1
Input #1, ss
b.CommandType = adCmdText
b.CommandText = ss
Print ss
End Sub

仍然不行~~
aa.bat文件:isqlw -Usa -P -ic:\test\ddd.sql -oc:\test\aa.txt
ddd.sql文件:create database tt
go
use tt
create table www(aa char(10) check(aa like '%@%') primary key,bb char(10))
go

显示连接出错

#17


在网上看到一个东西,看能不能用上.
Public Sub ExecuteSQLScriptFile(CN As ADODB.Connection, sqlFile As String)
Dim SQL As String
       SQL = "master.dbo.xp_cmdshell ' wbserver -U admin -P x819hp24 -d wb -i " & sqlFile
       CN.Execute SQL
End Sub

#1


建数据库
strSql="CREATE DATABASE mydb"

建数据表
strSql=" CREATE TABLE [dbo].[TABLE1] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ) "

当作普通的Sql语句执行就可以了

#2


如楼上所说,写一条CREATE TABLE的语句赋给STRSQL。
dim rs as adodb.recordset
set rs=createobject(adodb.recordset)
rs.commandtext=strsql
rs.execute

#3


楼上的有点错误哦:
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim conn As New ADODB.Connection
conn.open ""(连接字符串)
strsql = ""
rs.Open strsql, conn
或者:
Dim comm As New ADODB.Command
Dim Conn As New ADODB.Connection
Conn.Open ""

strsql = ""
comm.CommandText = strsql
comm.Execute

#4


推荐你看介绍ado的使用的书

#5


to wutao411(了缘) 

谢谢,好久不写VB的程序了,有点记不清语法了,也懒得去查了。不好意思

#6


最好还是创建一个SQL文件以后,使用程序把这文件打开,再用ADODB.COMMAND进行运行. 如同 wutao411(了缘) 写的一样.

#7


我的意思如同tongls的想法一样~~~问题就是我先写好了一个比如a.sql脚本文件,如何把他在文件中自动调用其中的a.sql脚本~~~~现在在用SQL桌面平台MSDE

#8


用VB打开.SQL文件后直接执行里面的字符串就行,不用考虑是否换行的问题,只要能在查询分析器中执行就行。但是好象不能支持太大的脚本文件。

#9


能写个例子吗~~跪谢

#10


我忘了怎么打开文件了,不过很简单,你得到文件内容有用rs.open 文件内容 就可以了,一定行。

#11


如果明天有空,我再回。今天加晚班,马上回家了。

#12


还有更好的办法,可以用 “isqlw -Usa -P -ic:\脚本.sql -oc:\。。。。。.txt,”把这个语句放在一个.bat文件里,双击即可,会生成一个你命名的.txt文件,返回运行结果。在vb中可以用shell命令调用这个.bat

#13


还有更好的办法,可以用 “isqlw -Usa -P -ic:\脚本.sql -oc:\。。。。。.txt,”把这个语句放在一个.bat文件里,双击即可,会生成一个你命名的.txt文件,返回运行结果。在vb中可以用shell命令调用这个.bat
--------------
楼上的这个方法不错!

#14


Private Sub Command1_Click()
Dim a As New ADODB.Connection
Dim b As New ADODB.Command
Set a = New ADODB.Connection
a.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=G4FENG-TCI0N7A2"
Open "c:\test\aa.dat" For Input As #1
Input #1, ss
b.CommandType = adCmdText
b.CommandText = ss
Print ss
End Sub

仍然不行~~
aa.bat文件:isqlw -Usa -P -ic:\test\ddd.sql -oc:\test\aa.txt
ddd.sql文件:create database tt
go
use tt
create table www(aa char(10) check(aa like '%@%') primary key,bb char(10))
go

显示连接出错

#15


上面提示什么错误?
比如要执行下面脚本语句:
use test_01
insert into
 a values('qq1')
insert into a values('qq2')
====================================执行方法========================================
strsql="use test_01" & vbcrlf & "insert into" & vbcrlf & " a values('qq1')" & vbcrlf & "insert into a values('qq2')"
rs.open strsql
可以成功执行。

#16


Private Sub Command1_Click()
Dim a As New ADODB.Connection
Dim b As New ADODB.Command
Set a = New ADODB.Connection
a.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=G4FENG-TCI0N7A2"
Open "c:\test\aa.dat" For Input As #1
Input #1, ss
b.CommandType = adCmdText
b.CommandText = ss
Print ss
End Sub

仍然不行~~
aa.bat文件:isqlw -Usa -P -ic:\test\ddd.sql -oc:\test\aa.txt
ddd.sql文件:create database tt
go
use tt
create table www(aa char(10) check(aa like '%@%') primary key,bb char(10))
go

显示连接出错

#17


在网上看到一个东西,看能不能用上.
Public Sub ExecuteSQLScriptFile(CN As ADODB.Connection, sqlFile As String)
Dim SQL As String
       SQL = "master.dbo.xp_cmdshell ' wbserver -U admin -P x819hp24 -d wb -i " & sqlFile
       CN.Execute SQL
End Sub