SQL Server表中取得的ADO记录集。请问,检查field对象的哪个属性,能知道该字段是否为自增字段?

victorycyz 2004-04-14 02:19:32

说明:

  我在程序中遍历记录集中的字段,运行到自增字段时,中断,检查该字段的各个属性值。attributes属性值为adUnknownUpdatable(提供者不能确定字段是否可写),properties("isautoincrement")属性值为false。

我应该检查哪个属性值才可以呢?请高手赐教。
...全文
101 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxcc 2004-04-14
  • 打赏
  • 举报
回复
那是自动增长吗?
看看表属性的的表的标识列是不是你指定的
victorycyz 2004-04-14
  • 打赏
  • 举报
回复

换成numeric了,结果还是一样。还有,我把这个字段设成主键。在前台field对象中检查properties("keycolumn"),也不是true,而是false。不知道是什么原因。
lxcc 2004-04-14
  • 打赏
  • 举报
回复
先检查一下数据库里面是不是自动增长,还有你的自动增长字段类型是什么,我一般设为numeric(感觉和这个关系不大,总之试试再说)
victorycyz 2004-04-14
  • 打赏
  • 举报
回复

谢谢楼上几位。

那为什么我检查Properties("ISAUTOINCREMENT")的值,得到的是false呢?
lxcc 2004-04-14
  • 打赏
  • 举报
回复
关键字
Properties("KEYCOLUMN")
True

自动增长
Properties("ISAUTOINCREMENT")
True
lgs666 2004-04-14
  • 打赏
  • 举报
回复
'ADOX.Catalog对象
Dim adStru As New ADOX.Catalog
strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="......"
mCn.Open strCn
Set adStru.ActiveConnection = mCn

adStru.Tables(I).Columns(J).Properties("Autoincrement")

adStru.Tables(I).Columns(J).Properties("Seed")
adStru.Tables(I).Columns(J).Properties("Increment")
lgs666 2004-04-14
  • 打赏
  • 举报
回复
Dim i As Long
For i = 0 To rstHouse.Fields(0).Properties.Count - 1
Debug.Print rstHouse.Fields(0).Properties(i).Name & vbTab & rstHouse.Fields(0).Properties(i).Value
Next

'------------------应该是 ISAUTOINCREMENT 吧
lgs666 2004-04-14
  • 打赏
  • 举报
回复
Dim i As Long
For i = 0 To rstHouse.Fields(0).Properties.Count
Debug.Print rstHouse.Fields(0).Properties(i).Name & vbTab & rstHouse.Fields(0).Properties(i).Value
Next
'---------------------------
'KEYCOLUMN False
'ISAUTOINCREMENT False
taoheping 2004-04-14
  • 打赏
  • 举报
回复
上段时间搞过,现在不是很清楚,可能要查查源程序

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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