如何创建ACCESS数据库
如何创建ACCESS数据库帮帮小妹吧! 问题点数:20、回复次数:17Top
1 楼fpnet(人在深圳【男人一生中最大的敵人是他自己】)回复于 2004-12-02 00:54:39 得分 0
????????难道在ACCESS中不可以创建?Top
2 楼daisy8675(莫依 沉迷)回复于 2004-12-02 08:36:57 得分 2
在.NET中,您依然可以通过COM Interop使用ADOX来创建Access数据库。其基本的步骤如下:
1. 新建一个VB.NET Console应用程序。
2.在Solution Explorer中,右击References节点,选择Add Reference。
3.在Add Reference对话框中,点选COM选项卡,选择Microsoft ADO
Ext. 2.7 for DDL and Security。点击Select按钮将其加入Selected Components框。然后点OK。
4.键入类似以下代码:
Imports ADOX
Module Module1
Sub Main()
Dim cat As Catalog = New Catalog()
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\NewMDB.mdb;" & _
"Jet OLEDB:Engine Type=5")
Console.WriteLine("Database Created Successfully")
cat = Nothing
End Sub
End Module
关于COM Interop的更具体的信息,您可以参考以下文档:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconexposingcomcomponentstonetframework.asp
关于ADOX的的更具体的信息,您可以参考以下文档:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/admscadoxfundamentals.asp?frame=true
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/admscadoapireference.asp?frame=true
技术支持答过的Top
3 楼mingfei200169(木目)回复于 2004-12-02 08:59:56 得分 2
楼上的原理很对.看个例子吧
Imports ADODB
Imports ADOX
Public cat As New ADOX.Catalog
Public Conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Pstr As String
Dim Ds As New DataSet
Dim dt2 As New DataTable
Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
Dim fm As String 'fm变量用来获取用户输入的文件名
SaveFileDialog1.Filter = "帐套文件(*.Acc)|*.Acc"
SaveFileDialog1.FilterIndex = 1
SaveFileDialog1.InitialDirectory = "D:\"
SaveFileDialog1.Title = "新建帐套"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName = "" Then
MsgBox("你必须输入一个文件名,请重新保存一次!")
Exit Sub
Else
fm = SaveFileDialog1.FileName
End If
Pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '不能把这里的4.0改为3.51
Pstr = Pstr & "Data Source=" & fm
cat.Create(Pstr) '创建数据库
Dim tbl As New Table
tbl.Name = "MyTable"
'表的名称
tbl.Columns.Append("编号", ADOX.DataTypeEnum.adInteger) '表的第一个字段
tbl.Columns.Append("姓名", ADOX.DataTypeEnum.adVarWChar, 8) '表的第二个字段
tbl.Columns.Append("住址", ADOX.DataTypeEnum.adVarWChar, 60) '表的第三个字段
cat.Tables.Append(tbl) '建立数据表
Conn.Open(Pstr)
rs.Open("MyTable", Conn, CursorTypeEnum.adOpenKeyset, LockTypeEnum.adLockPessimistic)
rs.AddNew() '往表中添加新记录
rs.Fields(0).Value = 9801
rs.Fields(1).Value = "张飞"
rs.Fields(2).Value = "武汉市"
rs.Update()
rs.AddNew()
rs.Fields(0).Value = 992016
rs.Fields(1).Value = "明飞"
rs.Fields(2).Value = "武汉"
rs.Update()
rs.Close()
Conn.Close()
Dim oLEDBConn As New OleDb.OleDbConnection(Pstr)
Dim oLEDBAdp As New OleDb.OleDbDataAdapter("Select * from MyTable", oLEDBConn)
Try
If oLEDBConn.State = ConnectionState.Closed Then
oLEDBConn.Open()
End If
dt2.Clear()
oLEDBAdp.Fill(dt2)
Me.DataGrid1.DataSource = dt2
Catch
Finally
oLEDBConn.Close()
End Try
Top
4 楼ballnan(水的另一面)回复于 2004-12-02 10:46:09 得分 2
http://dotnet.aspx.cc/ShowDetail.aspx?id=275E8772-A68A-417F-FD66-B75EA44499A4
http://support.microsoft.com/default.aspx?scid=kb;EN-US;317881Top
5 楼gzy11(可可猫)回复于 2004-12-04 00:12:37 得分 0
给个完整的列子好吗?Top
6 楼lzmtw(水如烟)回复于 2004-12-04 01:08:01 得分 0
哈,太阳下山了没有Top
7 楼lzmtw(水如烟)回复于 2004-12-04 02:30:19 得分 10
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim App As Object 'New Access.Application
App = CreateObject("Access.Application")
App.NewCurrentDatabase(Application.StartupPath & "\MyDB")
App.Visible = True
Dim Db As Object = App.CurrentDb 'DAO.Database
Dim Table As Object 'DAO.TableDef
Table = Db.CreateTableDef("tmpTale")
With Table
.Fields.Append(.CreateField("序号", 3)) '3 DAO.DataTypeEnum.dbInteger
.Fields.Append(.CreateField("姓名", 10, 20)) '10 DAO.DataTypeEnum.dbText
.Fields.Append(.CreateField("地址", 10, 30)) '10 DAO.DataTypeEnum.dbText
End With
Db.TableDefs.Append(Table)
Db.Close()
End Sub
第一次打交道,用了一个小时
设主键,外键的就不弄了
我的帮助文档不大顺Top
8 楼gzy11(可可猫)回复于 2004-12-04 21:53:07 得分 0
水如烟你这个列子必须要用到ACCESS如果机器上没装的话就。。。。。。。。。。Top
9 楼lzmtw(水如烟)回复于 2004-12-04 22:43:25 得分 2
呵,有道理
我想当然的认为是装了的。那就用上面两位给的方法吧。
我只是提供另一种方法,其实核心是一样的,都是DAOTop
10 楼gzy11(可可猫)回复于 2004-12-04 23:27:38 得分 0
那代码怎么写呢,我现在没有数据库的书好痛苦啊,这个月我发工资了去邮购一本去,有没有什么好的书给我推荐下呢?Top
11 楼lzmtw(水如烟)回复于 2004-12-04 23:52:22 得分 0
哈
书的方面我不知道,我基本上都是看帮助文档的Top
12 楼lzmtw(水如烟)回复于 2004-12-04 23:53:32 得分 0
上面两位说得应该够了,我觉得很是清楚的了Top
13 楼lzmtw(水如烟)回复于 2004-12-04 23:54:13 得分 0
你进步好快Top
14 楼lzmtw(水如烟)回复于 2004-12-04 23:54:38 得分 0
我半点没长进,原地踏步。Top
15 楼WYZSC(007,重在参乎,说错问错勿怪。)回复于 2004-12-05 20:42:55 得分 1
gzTop
16 楼gzy11(可可猫)回复于 2004-12-10 14:47:55 得分 0
UPTop
17 楼zihu928(笨狐狸)回复于 2004-12-10 15:08:28 得分 1
学习ing……Top




