CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

关于如何使用ADOX动态创建ACCESS数据库,并设置字段属性,如可零长度字符串,可变长度,固定长度属性

楼主guileen(松风抚琴)2005-07-01 23:10:48 在 VB / 数据库(包含打印,安装,报表) 提问

如题,请高手指点,并给出各种设置的详细资料 问题点数:20、回复次数:1Top

1 楼myhgyp(也许是这样的,信不信由你)回复于 2005-07-02 22:49:00 得分 20

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=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   App.Path   &   "\newdata.mdb"   +   ";")  
  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  
   
  '增加一个OLE字段  
  Dim   col5   As   ADOX.Column  
  Set   col5   =   New   ADOX.Column  
  col5.ParentCatalog   =   cat  
  col5.Type   =   ADOX.DataTypeEnum.adLongVarBinary  
  col5.Name   =   "OLD_FLD"  
  tbl.Columns.Append   col5,   ADOX.DataTypeEnum.adLongVarBinary  
   
  '增加一个数值型字段  
  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   =   Nothing  
   
  Dim   adocon   As   ADODB.Connection  
  Set   adocon   =   New   ADODB.Connection  
  adocon.Open   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   &   App.Path   &   "\newdata.mdb;"   &   "Mode=Share   Deny   Read|Share   Deny   Write;Persist   Security   Info=False;Jet   OLEDB:Database   Password="  
  Set   cat   =   New   ADOX.Catalog  
  Set   cat.ActiveConnection   =   adocon  
  For   i   =   0   To   cat.Tables.Count   -   1  
        Debug.Print   cat.Tables(i).Name       '取出表名  
        If   cat.Tables(i).Name   =   "MyTable"   Then  
        For   j   =   0   To   cat.Tables(i).Columns.Count   -   1  
              Debug.Print   cat.Tables(i).Columns(j)         '取出列名  
              Debug.Print   cat.Tables(i).Columns(j).Type   '取出数据类型  
              For   Each   p   In   cat.Tables(i).Columns(j).Properties  
              Debug.Print   p.Type   &   p.Name   &   p.Attributes         '取出列的属性  
              Next  
        Next   j  
         
        End   If  
  Next   i  
   
   
  End   Sub  
  Top

相关问题

  • 字符串变量添加成字段
  • 可变长度的字符串?
  • 怎样自定义字符串型自增加字段?
  • 如何使TTable按字符串字段的长度排序???
  • 怎样查找字符串字段的一个范围?
  • 怎么处理在SQL中字符串为NULL的字段啊?
  • 如何查询一个字段的子字符串,
  • 如何将字符串"199007"存入datetime字段中?
  • ACCESS的变长字符串字段的类型是什么?
  • 如何修改字符串字段的大小(急)

关键词

  • 字段
  • microsoft
  • adox
  • 长度
  • parentcatalog
  • col
  • dim
  • properties

得分解答快速导航

  • 帖主:guileen
  • myhgyp

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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