CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

如何创建ACCESS数据库

楼主gzy11(可可猫)2004-12-02 00:18:25 在 .NET技术 / VB.NET 提问

如何创建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

相关问题

  • 如何程序创建Access 数据库
  • 如何动态创建ACCESS数据库?
  • 如何创建数据库?
  • 创建access数据库
  • 创建Access数据库
  • 如何动态创建ACCESS数据库文件?
  • 如何用ADO创建一个Access数据库。
  • 如何在Ado里面用代码创建Access数据库?
  • 如何动态创建一个ACCESS数据库!^-^
  • 如何用bcb新创建一个access数据库

关键词

  • 数据库
  • 文档
  • ado
  • msdn
  • access
  • microsoft
  • asp
  • adox
  • 创建access数据库
  • library

得分解答快速导航

  • 帖主:gzy11
  • daisy8675
  • mingfei200169
  • ballnan
  • lzmtw
  • lzmtw
  • WYZSC
  • zihu928

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo