Private Sub Form_Load() '菜单“工程”-->"引用"-->"Microsoft ActiveX Data Objects 2.7 Library" 'Microsoft ADO Ext.2.7 for DDL ado Security Dim cat As ADOX.Catalog Set cat = New ADOX.Catalog cat.Create ("Provider = SQLOLEDB.1;Password = ; Persist Security Info = True;User ID = sa;Initial Catalog = DRUGDB; Data Source = 192.168.30.122") MsgBox "数据库已经创建成功!" Dim tbl As ADOX.Table Set tbl = New ADOX.Table tbl.ParentCatalog = cat tbl.Name = "MyTable"'增加一个自动增长的字段 Dim col As ADOX.Column Set col = New ADOX.Column col.ParentCatalog = cat col.Type = ADOX.DataTypeEnum.adInteger ' // 必须先设置字段类型 col.Name = "id" col.Properties("Jet OLEDB:Allow Zero Length").Value = False col.Properties("AutoIncrement").Value = True tbl.Columns.Append col, ADOX.DataTypeEnum.adInteger, 0'增加一个文本字段 Dim col2 As ADOX.Column Set col2 = New ADOX.Column col2.ParentCatalog = cat col2.Name = "Description" col2.Properties("Jet OLEDB:Allow Zero Length").Value = False tbl.Columns.Append col2, ADOX.DataTypeEnum.adVarChar, 25'增加一个货币型字段 Dim col4 As ADOX.Column Set col4 = New ADOX.Column col4.ParentCatalog = cat col4.Type = ADOX.DataTypeEnum.adCurrency col4.Name = "xx" tbl.Columns.Append col4, ADOX.DataTypeEnum.adCurrency'增加一个数值型字段 Dim col3 As ADOX.Column Set col3 = New ADOX.Column col3.ParentCatalog = cat col3.Type = ADOX.DataTypeEnum.adDouble col3.Name = "ll" tbl.Columns.Append col3, ADOX.DataTypeEnum.adDouble Dim p As ADOX.Property For Each p In col3.Properties Debug.Print p.Name & ":" & p.Value & ":" & p.Type & ":" & p.Attributes Next'设置主键 tbl.Keys.Append "PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "id", "", "" cat.Tables.Append tbl MsgBox "数据库表:" + tbl.Name + "已经创建成功!" Set tbl = Nothing Set cat = NothingDim adocon As ADODB.Connection Set adocon = New ADODB.Connection adocon.Open "Provider = SQLOLEDB.1;Password = ; Persist Security Info = True;User ID = sa;Initial Catalog = DRUGDB; Data Source = 192.168.30.122" Set cat = New ADOX.Catalog Set cat.ActiveConnection = adocon cat.Tables.Item("MyTable").Columns("ll").Properties("Jet OLEDB:Allow Zero Length").Value = True '设置零长度正确 cat.Tables.Item("MyTable").Columns("ll").Properties("Jet OLEDB:AutoGenerate").Value = 2 '设置小数位数会出错 Set cat = Nothing adocon.Close Set adocon = Nothing End Sub
1、ADOX 2、SqlCon.excute "Alter Table Add Collum as Collum_Type"格式执行SQL语句
'菜单“工程”-->"引用"-->"Microsoft ActiveX Data Objects 2.7 Library"
'Microsoft ADO Ext.2.7 for DDL ado Security
Dim cat As ADOX.Catalog
Set cat = New ADOX.Catalog
cat.Create ("Provider = SQLOLEDB.1;Password = ; Persist Security Info = True;User ID = sa;Initial Catalog = DRUGDB; Data Source = 192.168.30.122")
MsgBox "数据库已经创建成功!"
Dim tbl As ADOX.Table
Set tbl = New ADOX.Table
tbl.ParentCatalog = cat
tbl.Name = "MyTable"'增加一个自动增长的字段
Dim col As ADOX.Column
Set col = New ADOX.Column
col.ParentCatalog = cat
col.Type = ADOX.DataTypeEnum.adInteger ' // 必须先设置字段类型
col.Name = "id"
col.Properties("Jet OLEDB:Allow Zero Length").Value = False
col.Properties("AutoIncrement").Value = True
tbl.Columns.Append col, ADOX.DataTypeEnum.adInteger, 0'增加一个文本字段
Dim col2 As ADOX.Column
Set col2 = New ADOX.Column
col2.ParentCatalog = cat
col2.Name = "Description"
col2.Properties("Jet OLEDB:Allow Zero Length").Value = False
tbl.Columns.Append col2, ADOX.DataTypeEnum.adVarChar, 25'增加一个货币型字段
Dim col4 As ADOX.Column
Set col4 = New ADOX.Column
col4.ParentCatalog = cat
col4.Type = ADOX.DataTypeEnum.adCurrency
col4.Name = "xx"
tbl.Columns.Append col4, ADOX.DataTypeEnum.adCurrency'增加一个数值型字段
Dim col3 As ADOX.Column
Set col3 = New ADOX.Column
col3.ParentCatalog = cat
col3.Type = ADOX.DataTypeEnum.adDouble
col3.Name = "ll"
tbl.Columns.Append col3, ADOX.DataTypeEnum.adDouble
Dim p As ADOX.Property
For Each p In col3.Properties
Debug.Print p.Name & ":" & p.Value & ":" & p.Type & ":" & p.Attributes
Next'设置主键
tbl.Keys.Append "PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "id", "", ""
cat.Tables.Append tbl
MsgBox "数据库表:" + tbl.Name + "已经创建成功!"
Set tbl = Nothing
Set cat = NothingDim adocon As ADODB.Connection
Set adocon = New ADODB.Connection
adocon.Open "Provider = SQLOLEDB.1;Password = ; Persist Security Info = True;User ID = sa;Initial Catalog = DRUGDB; Data Source = 192.168.30.122"
Set cat = New ADOX.Catalog
Set cat.ActiveConnection = adocon
cat.Tables.Item("MyTable").Columns("ll").Properties("Jet OLEDB:Allow Zero Length").Value = True '设置零长度正确
cat.Tables.Item("MyTable").Columns("ll").Properties("Jet OLEDB:AutoGenerate").Value = 2 '设置小数位数会出错
Set cat = Nothing
adocon.Close
Set adocon = Nothing
End Sub
2、SqlCon.excute "Alter Table Add Collum as Collum_Type"格式执行SQL语句