用vb.net创建access数据库
1.首先添加引用Microsoft ADO Ext. 2.8 for DDL and Security
2.在.vb文件中引用:Imports ADOX
3.为保存access数据库的文件夹赋予写的权利:
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
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
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