用vb.net创建access数据库
1.首先添加引用Microsoft ADO Ext. 2.8 for DDL and Security
![]()
2.在.vb文件中引用:Imports ADOX
3.为保存access数据库的文件夹赋予写的权利:
![]()
![]()
Code
![]()
Public Sub CreateMdb()Sub CreateMdb()
![]()
Dim dbName As String = HttpContext.Current.Server.MapPath("~\IMP_EXP_FILES\INTERFACE\DMS\DMS_LOT_PREFIXyyQn.mdb")
Dim cat As ADOX.CatalogClass = New ADOX.CatalogClass()
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";Jet OLEDB:Engine Type=5")
![]()
Dim objTable As ADOX.TableClass = New ADOX.TableClass()
objTable.ParentCatalog = cat
objTable.Name = "LOT_TABLE"
![]()
![]()
Dim col1 As ADOX.ColumnClass = New ADOX.ColumnClass()
col1.ParentCatalog = cat
col1.Name = "REGION_CODE"
col1.Properties("Jet OLEDB:Allow Zero Length").Value = False
objTable.Columns.Append(col1, ADOX.DataTypeEnum.adVarChar, 1)
![]()
![]()
Dim col2 As ADOX.ColumnClass = New ADOX.ColumnClass()
col2.ParentCatalog = cat
col2.Name = "LOT_PREFIX"
col2.Properties("Jet OLEDB:Allow Zero Length").Value = False
objTable.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 7)
![]()
![]()
Dim col3 As ADOX.ColumnClass = New ADOX.ColumnClass()
col3.ParentCatalog = cat
col3.Name = "LOT_PREFIX_CHIN"
col3.Properties("Jet OLEDB:Allow Zero Length").Value = False
objTable.Columns.Append(col3, ADOX.DataTypeEnum.adVarChar, 15)
![]()
Dim col4 As ADOX.ColumnClass = New ADOX.ColumnClass()
col4.ParentCatalog = cat
col4.Name = "LOT_PREFIX_ENG"
col4.Properties("Jet OLEDB:Allow Zero Length").Value = False
objTable.Columns.Append(col4, ADOX.DataTypeEnum.adVarChar, 50)
![]()
![]()
Dim objKey As ADOX.Key = New ADOX.Key()
objKey.Name = "PrimaryKey"
objKey.Type = KeyTypeEnum.adKeyPrimary
objKey.Columns.Append("REGION_CODE")
objKey.Columns.Append("LOT_PREFIX")
![]()
objTable.Keys.Append(objKey)
cat.Tables.Append(objTable)
![]()
objTable = Nothing
cat = Nothing
![]()
![]()
![]()
End Sub
![]()
Code
![]()
Public Sub InsertDataToAccess()Sub InsertDataToAccess(ByVal sSql As String)
Dim ds As DataSet = oSqlHelper.ExecuteDataSet(CommandType.Text, sSql, Nothing)
Dim ole As String = String.Empty
Dim SourcePath As String = Server.MapPath("~\IMP_EXP_FILES\INTERFACE\DMS\DMS_LOT_PREFIXyyQn.mdb")
Dim sOleConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + SourcePath + ";Persist Security Info=true; "
Dim oOlecon As OleDbConnection = New OleDbConnection(sOleConnectionString)
oOlecon.Open()
![]()
![]()
Dim oOleDbCommand As OleDbCommand = New OleDbCommand("DELETE FROM LOT_TABLE", oOlecon)
oOleDbCommand.ExecuteNonQuery()
![]()
Dim oOleDbDataAdapter As OleDbDataAdapter = New OleDbDataAdapter(sSql, oOlecon)
Dim dtDataSet As DataSet = New DataSet()
oOleDbDataAdapter.Fill(dtDataSet, "LOT_TABLE")
![]()
For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
Dim drDataRow As DataRow = dtDataSet.Tables("LOT_TABLE").NewRow()
drDataRow("REGION_CODE") = ds.Tables(0).Rows(i)("REGION_CODE")
drDataRow("LOT_PREFIX") = ds.Tables(0).Rows(i)("LOT_PREFIX")
drDataRow("LOT_PREFIX_CHIN") = ds.Tables(0).Rows(i)("LOT_PREFIX_CHIN")
drDataRow("LOT_PREFIX_ENG") = ds.Tables(0).Rows(i)("LOT_PREFIX_ENG")
dtDataSet.Tables(0).Rows.Add(drDataRow)
Next
![]()
Dim builderSYYQXX As OleDbCommandBuilder = New OleDbCommandBuilder(oOleDbDataAdapter)
oOleDbDataAdapter.Update(dtDataSet, "LOT_TABLE")
dtDataSet.Dispose()
![]()
oOlecon.Close()
![]()
End Sub

2.在.vb文件中引用:Imports ADOX
3.为保存access数据库的文件夹赋予写的权利:


Public Sub CreateMdb()Sub CreateMdb()
Dim dbName As String = HttpContext.Current.Server.MapPath("~\IMP_EXP_FILES\INTERFACE\DMS\DMS_LOT_PREFIXyyQn.mdb")
Dim cat As ADOX.CatalogClass = New ADOX.CatalogClass()
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";Jet OLEDB:Engine Type=5")
Dim objTable As ADOX.TableClass = New ADOX.TableClass()
objTable.ParentCatalog = cat
objTable.Name = "LOT_TABLE"

Dim col1 As ADOX.ColumnClass = New ADOX.ColumnClass()
col1.ParentCatalog = cat
col1.Name = "REGION_CODE"
col1.Properties("Jet OLEDB:Allow Zero Length").Value = False
objTable.Columns.Append(col1, ADOX.DataTypeEnum.adVarChar, 1)

Dim col2 As ADOX.ColumnClass = New ADOX.ColumnClass()
col2.ParentCatalog = cat
col2.Name = "LOT_PREFIX"
col2.Properties("Jet OLEDB:Allow Zero Length").Value = False
objTable.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 7)

Dim col3 As ADOX.ColumnClass = New ADOX.ColumnClass()
col3.ParentCatalog = cat
col3.Name = "LOT_PREFIX_CHIN"
col3.Properties("Jet OLEDB:Allow Zero Length").Value = False
objTable.Columns.Append(col3, ADOX.DataTypeEnum.adVarChar, 15)
Dim col4 As ADOX.ColumnClass = New ADOX.ColumnClass()
col4.ParentCatalog = cat
col4.Name = "LOT_PREFIX_ENG"
col4.Properties("Jet OLEDB:Allow Zero Length").Value = False
objTable.Columns.Append(col4, ADOX.DataTypeEnum.adVarChar, 50)

Dim objKey As ADOX.Key = New ADOX.Key()
objKey.Name = "PrimaryKey"
objKey.Type = KeyTypeEnum.adKeyPrimary
objKey.Columns.Append("REGION_CODE")
objKey.Columns.Append("LOT_PREFIX")
objTable.Keys.Append(objKey)
cat.Tables.Append(objTable)
objTable = Nothing
cat = Nothing


End Sub
Public Sub InsertDataToAccess()Sub InsertDataToAccess(ByVal sSql As String)
Dim ds As DataSet = oSqlHelper.ExecuteDataSet(CommandType.Text, sSql, Nothing)
Dim ole As String = String.Empty
Dim SourcePath As String = Server.MapPath("~\IMP_EXP_FILES\INTERFACE\DMS\DMS_LOT_PREFIXyyQn.mdb")
Dim sOleConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + SourcePath + ";Persist Security Info=true; "
Dim oOlecon As OleDbConnection = New OleDbConnection(sOleConnectionString)
oOlecon.Open()

Dim oOleDbCommand As OleDbCommand = New OleDbCommand("DELETE FROM LOT_TABLE", oOlecon)
oOleDbCommand.ExecuteNonQuery()
Dim oOleDbDataAdapter As OleDbDataAdapter = New OleDbDataAdapter(sSql, oOlecon)
Dim dtDataSet As DataSet = New DataSet()
oOleDbDataAdapter.Fill(dtDataSet, "LOT_TABLE")
For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
Dim drDataRow As DataRow = dtDataSet.Tables("LOT_TABLE").NewRow()
drDataRow("REGION_CODE") = ds.Tables(0).Rows(i)("REGION_CODE")
drDataRow("LOT_PREFIX") = ds.Tables(0).Rows(i)("LOT_PREFIX")
drDataRow("LOT_PREFIX_CHIN") = ds.Tables(0).Rows(i)("LOT_PREFIX_CHIN")
drDataRow("LOT_PREFIX_ENG") = ds.Tables(0).Rows(i)("LOT_PREFIX_ENG")
dtDataSet.Tables(0).Rows.Add(drDataRow)
Next
Dim builderSYYQXX As OleDbCommandBuilder = New OleDbCommandBuilder(oOleDbDataAdapter)
oOleDbDataAdapter.Update(dtDataSet, "LOT_TABLE")
dtDataSet.Dispose()
oOlecon.Close()
End Sub
Fighting

浙公网安备 33010602011771号