上網找了MSDN的範例,不過都不是自己要的,我的需求是在現存的資料表增加欄位。
因在Web上增加欄位,非主機端還是用Code來操作會比較簡單。
Code在下面,提供大家參考,適合自己需求的 要再改一下。
記得先加入參考[Microsoft ADO Ext. 2.8 for DDL.....]
然後引用
IMPORTS ADOX
直接呼叫下列程序
Add_ColumToExistMdb("資料表名稱", "要增加的資料欄位", "資料型態(自行定義)")
'增加 資料庫 欄位 ()
Sub Add_ColumToExistMdb(ByVal TableName As String, ByVal ColName As String, ByVal ColType As String)
'TableName 資料表名稱
'ColName 欄位名稱
'ColType 欄位型態
Dim Cn = New ADODB.Connection
Cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\My.mdb")
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim xCol As New ADOX.Column
Dim blnColAlreadyExist As Boolean = False '判斷欄位是否存在的
Dim TranCode As Integer '轉換後的數字Enum
cat.ActiveConnection = Cn
tbl = cat.Tables(TableName) '針對現存的表格來做增加欄位的動作!
'在增加特定欄位前先偵測[欄位名稱]是否存在?
For Each xCol In tbl.Columns
'Debug.Print(xCol.Name.ToString)
If xCol.Name = ColName Then
blnColAlreadyExist = True
Exit For
End If
Next
'欄位沒有重複!
If blnColAlreadyExist = False Then
Select Case ColType '自訂欄位定義....
Case "long"
TranCode = 4 'DataTypeEnum.adSingle
End Select
'增加欄位
tbl.Columns.Append(ColName, TranCode)
cat.Tables.Refresh()
End If
Cn.Close()
Cn = Nothing
End Sub
沒有留言:
張貼留言