欢迎光临
我们一直在努力

用ADox获得表的唯一索引-ASP教程,数据库相关

建站超值云服务器,限时71元/月

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用ADox获得表的唯一索引-ASP教程,数据库相关
分享到: 更多 (0)