当前位置:首页 » 操作系统 » vb创建数据库表

vb创建数据库表

发布时间: 2024-11-01 14:11:55

‘壹’ vb 用sql 语句创建数据库

启动VB6.0,新建一个工程,在菜单-工程-引用里选"Microsoft ActiveX Data Objects 2.0 Library",代码里需要有

dim conn As New ADODB.Connection
定义ADO数据库对象
conn.ConnectionString = "driver={SQL Server};" & _
"server=" & ServerName & ";uid=" & UserName & ";
pwd=" & Password & ";database=" & DatabaseName & ""
连接数据串
conn.open 连接数据库
注:ServerName为服务器名;UserName为用户名;Password为用户口令; DatabaseName要登录的数据库名,可以为空。
核心代码如下:
一、建立数据库
原理:建立数据库先要初始化一个数据库设备,然后在此设备上建立数据库。所有的设备名在系统表"sysdevices"里有记录,所有的数据库名在系统表"sysdatabases"里有记录。在建立之前,最好先查询这两个系统表,看名称是否已经存在。在建立设备之前,还需要的一个物理名和空闲的设备标识号。
初始化设备语法:
DISK INIT NAME="device_name",PHYNAME=
"physical_name",VDEVNO=device_number,
SIZE=numberofblock
说明:这里,NAME是数据库设备名(一个有效的标识符),PHYNAME(数据库设备的物理名)是原始的磁盘分区UNIX或外设(vms)名,或者是操作系统的文件名。VDEVNO时数据库的设备标识号,合法值为1-255,SIZE的单位是2KB的块,例如1MB(1024KB)时SIZE值为512。
建立数据库语法:CREATE DATABASE database_name [ON database_device]
说明:database_name是要建的数据库名,database_device是设备名
要新建立一个数据库,就需要设备名,数据库名,物理名和设备号。具体步骤如下:
我们假设用户要新建立设备dbName,在设备dbName上建立数据库dbName。
1)得到设备名 bName是用户给出的设备名;先查询系统表sysdevices,看用户给出的设备名dbName是否已经存在,如果此设备名存在,就需要更换一个设备名,因为设备名是唯一的。
sql = "select * from sysdevices
where name=" & dbName & ""
Set rs = conn.Execute(sql)
If Not rs.EOF Then
MsgBox "设备名"" & dbName & ""
已存在!", 16, "请重新输入名称"
Exit Sub
End If
2)得到数据库名。dbName是用户给出的数据库名;查询系统表sysdatabases,看用户给出的数据库名dbName是否已经存在,如果此数据库存在,就需要更换一个数据库名,像设备名一样,数据库名也是唯一的
sql = "select * from sysdatabases
where name=" & dbName & ""
Set rs = conn.Execute(sql) 下面代码略
3)得到PHYNAME物理名。查询服务器上数据库文件的物理位置serverpath,典型的,我们可以从系统表sysdevices中查询master(这是SQL Server的主库名)数据库的位置,例如G:\MSSQL\DATA\MASTER.DAT,则我们的数据库可以建在"G:\MSSQL\DATA\"目录下。
sql = "select name,phyname from sysdevices "
low/16777216为设备号
Set rs = conn.Execute(sql)
然后遍历记录对象rs,当name="master"时,取出phyname,
从而可以得到物理位置serverpath =G:\MSSQL\DATA\。
4)得到一个空闲的设备号vdevno。设备号合法值1~255,遍历这些号,查找出未被使用的空闲设备号,下面程序得到已有的设备号
sql = "select distinct low/16777216
from sysdevices order by low/16777216"
low/16777216为设备号
5)建立数据库。所需的信息都准备完毕,可以建立数据库了(注:下面的"" & Chr(34) & ""就是一个"""双引号,这样处理后,才能满足语法要求;数据库为20M,则dbSize=512*20)
sql = "DISK INIT NAME=" & Chr(34) & ""
& dbName & "" & Chr(34) & ",PHYSNAME="
& Chr(34) & "" & serverpath & "" & dbName
& ".dat" & Chr(34) & ",VDEVNO=" & vdevno
& ",SIZE=" & dbSize & ""
Set rs = conn.Execute(sql) 初始化设备
sql = "CREATE DATABASE " & dbName & "
on " & dbName & "=" & dbSize & ""
注:
第一个dbName是数据库名,
第二个dbName是设备名
Set rs = conn.Execute(sql)
在设备dbName上建立数据库dbName
MsgBox "数据库"" & dbName & ""建在服务器上
"" & serverpath & "" & dbName & ".dat",
建立成功!", 64, "成功"

‘贰’ 如何用VB建立数据库

1、首先点击打开主菜单栏中的“外接程序”选项。

‘叁’ 如何用vb创建数据库 求高手

'代码创建一个Access数据库和一张表,其中“序号”字段为自动编号
Private Sub xjdata()
On Error GoTo aaa

Dim cat As New ADOX.Catalog
Dim pstr As String
Dim fm As String
Dim tb1 As ADOX.Table
Dim col As ADOX.Column
Set tb1 = New ADOX.Table
On Error GoTo xjerr
CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"
CommonDialog1.FilterIndex = 1
CommonDialog1.InitDir = App.Path
CommonDialog1.Flags = 6
CommonDialog1.FileName = Date & Space(1) & Hour(Now) & Minute(Now)
CommonDialog1.Action = 2
If CommonDialog1.FileName = "" Then
MsgBox "你必须输入一个数据库文件名,请重新保存一次!", ""
Else
fm = CommonDialog1.FileName
End If
pstr = "Provider=Microsoft.Jet.OLEDB.4.0;"
pstr = pstr & "Data Source=" & fm
cat.Create pstr
cat.ActiveConnection = pstr
tb1.Name = "sjb"

Set col = New ADOX.Column
col.ParentCatalog = cat
col.Type = ADOX.DataTypeEnum.adInteger ' // 必须先设置字段类型
col.Name = "序号"
col.Properties("Jet OLEDB:Allow Zero Length").Value = False
col.Properties("AutoIncrement").Value = True
tb1.Columns.Append col, ADOX.DataTypeEnum.adInteger, 0

tb1.Columns.Append "电压", adSingle
tb1.Columns.Append "电流", adSingle
tb1.Columns.Append "输入功率", adSingle
tb1.Columns.Append "转速", adSingle
tb1.Columns.Append "转矩", adSingle
tb1.Columns.Append "输出功率", adSingle
tb1.Columns.Append "效率", adSingle
cat.Tables.Append tb1
xjerr:
If err.Number = 32755 Then Exit Sub ‘捕捉 取消 的错误信息
aaa:
End Sub

热点内容
源码批量修改 发布:2024-11-23 11:32:01 浏览:602
关联表查询sql语句 发布:2024-11-23 11:29:56 浏览:168
androidaudiousb 发布:2024-11-23 11:18:59 浏览:253
看巴士的解压密码 发布:2024-11-23 10:30:18 浏览:578
oracle的sql练习题 发布:2024-11-23 10:28:37 浏览:315
linux进程间同步 发布:2024-11-23 10:14:25 浏览:185
android朋友圈图片 发布:2024-11-23 10:02:08 浏览:159
eclipsejar源码乱码 发布:2024-11-23 10:01:33 浏览:145
oracle导入数据库数据 发布:2024-11-23 09:57:09 浏览:796
高访问网址 发布:2024-11-23 09:53:02 浏览:520