vb創建資料庫表
啟動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