如何用ADOX创建一个表,并设置好字段的属性

wskshun 2004-05-12 10:15:50
MyTable.Name = TableName '设置新表名

Dim i As Integer
MyTable.Columns.Append "AuthID"


MyTable.Columns.Append "姓名"
For i = 0 To FieldsCount - 1
MyTable.Columns.Append FieldsName(i), adWChar
Next i

MyCatalog.Tables.Append MyTable

-----------------------------------------------------------------
如何进一步设置呢?比如,设置authid为自动编号,其他字段允许为空
...全文
148 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wskshun 2004-05-13
  • 打赏
  • 举报
回复
怪了,又运行通过了,郁闷
chenyu5188 2004-05-13
  • 打赏
  • 举报
回复
你的问题楼上的那位帮你解决了,你再好好看看他的方法。
主要是:
ADOX没有办法直接建立自动编号的字段,需要转一下:
tbl.Columns.Append "id", adInteger
tbl.Columns("id").Properties("AutoIncrement") = True '自动编号

先建立一个adInteger的字段,然后改该字段的("AutoIncrement")属性为真就好了。
wskshun 2004-05-13
  • 打赏
  • 举报
回复
tbl.Columns("id").Properties("AutoIncrement") = True '自动编号

这句好像不行啊,我查了一些资料,也是这么写的,可就是运行不了
roger_xiong 2004-05-12
  • 打赏
  • 举报
回复
呵呵,歹势~

Dim Bulid As New ADOX.Catalog
Dim pstr As String '定义该变量是为了后面的书写方便

pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '不能把这里的4.0改为3.51
pstr = pstr & "Data Source=" & FileName
Bulid.Create pstr '创建数据库

Set tbl = New Table
tbl.Name = "评议表项目" '表的名称
tbl.ParentCatalog = Bulid
tbl.Columns.Append "id", adInteger
tbl.Columns("id").Properties("AutoIncrement") = True '自动编号
tbl.Columns.Append "项目名称", adVarWChar, 50
Bulid.Tables.Append tbl

呵呵,ADOX没有办法直接建立自动编号的字段,需要转一下:
tbl.Columns.Append "id", adInteger
tbl.Columns("id").Properties("AutoIncrement") = True '自动编号

先建立一个adInteger的字段,然后改该字段的("AutoIncrement")属性为真就好了。


wskshun 2004-05-12
  • 打赏
  • 举报
回复
非常感谢roger_xiong(风过无痕) 的回复,用SQL创建表我会,我只是不会ADOX,想用ADOX创建一个
roger_xiong 2004-05-12
  • 打赏
  • 举报
回复
建议用SQL建立表,比较容易调试,快、安全。不会那么麻烦的。
如:
cnn.Execute "create table user_inf(id autoincrement,user_name varchar(10) not null,user_psw varchar(255) not null,user_purview varchar(50) not null)"

autoincrement 就是自动编号。

默认允许为空。

not null就是不允许为空。

建立一个表用ADOX那么多的步骤太得不偿失了。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧