频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用ADox获得表的唯一索引

来源: 作者: 出处:巧巧读书 2006-09-07 进入讨论组

  adox的功能据说很强大,但是我没感觉出来,因为我在ASP下编写了很多程序,都运行不了。不知道什么原因,这里有一个程序可以获得唯一索引。可能有的朋友会做一些通用程序,也就是无论数据结构如何变化,程序不变,从数据录入,修改,删除,到数据检索。
所有模块都是完全独立于数据库表的结构的。这样就需要获得该表的唯一索引。因为要通过唯一索引来标示当前要删改的是那条记录。如果一个表是正规的表的话,应该至少有一个唯一索引,因为表应该有主键,而主键就是唯一索引。我尝试用adox.key获得表的主键,出错!不知道什么原因。还有,我也尝试用index的primarykey来获得该索引是否为主键,但是无论什么索引,都返回true。无奈之下,只有通过判断其是否为unique。结果发现这种方法真的很好。只是最后程序返回的是一个由n(n>=1)个字段组成的字符串,中间用逗号(,)分隔开的。不过大多数的唯一索引都是有一个字段组成的。我们还可以根据需要判断这些字段的类型等信息。方然这个也不是获得唯一索引的唯一方法。通过数据连接的openschema方法打开一个模式查询,也可以获得一个表的主关键字,详细方法见 [?这里?] 。

connstr = "Provider=MSDAORA.1;User ID=liujincai;password=ljc1001;Data Source=hp1"
set AdoX = server.createobject("adox.catalog")
set fld = server.createobject("adox.column")
set tt=server.CreateObject("adox.table")
AdoX.ActiveConnection = connstr
set tt=adox.Tables("TB_HOUSE_MAIN")
set kk=server.CreateObject("adox.key")
set idx=server.CreateObject("adox.index")
Response.Write "Table:" & tt.Name
Response.Write " < TABLE border=1>
< TBODY>
< TR bgColor=#e0d0c0>
< TD>column name< /TD>
< TD>column type< /TD>
< TD>columnsize< /TD>< /TR>"
for i=0 to tt.Columns.count-1
set fld = tt.Columns(i)
lType = fld.Type
lSize = fld.DefinedSize
Response.Write " < TR bgColor=#f0e0d0>< TD>" &fld.Name & "< /TD>"
Response.Write ltype
Response.Write "< /TD>< TD>"
Response.Write lsize
Response.Write "< /TD>< /TR>"
next
Response.Write "< /TBODY>< /TABLE>"
cols=""
for i=0 to tt.Indexes.count-1
set idx=tt.Indexes(i)
if idx.Unique=true then
for j=0 to idx.Columns.count-1
cols=cols & "," & idx.Columns(j).Name
next
exit for
end if
next
if cols<>"" then
cols=mid(cols,2,len(cols)-1)
Response.Write "可唯一标示字段:"&cols观看地址: http://www.qqread.com/asp/2006/10/d239833.html 更多文章 更多内容请看SQL Server 索引和查询专题专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章