注册 登录
编程论坛 ASP技术论坛

如何判断一个字段是否存在

guaishi 发布于 2007-10-15 16:38, 1186 次点击
如何判断a表中是否有b字段
5 回复
#2
yms1232007-10-15 17:39
最简单的办法利用错误捕捉来判断
比如如下函数
'函数作用判断某个表中是否有某个字段
'参数con:已经连接的数据库连接对象(ADODB.Connection)
'参数TableName:要判断的那个表的名称
'参数FieldName:要判断的字段名称
Function IsHaveFiled(con,TableName,FieldName)
On Error Resume Next
Dim rsIHF,TVar
Set rsIHF=con.Execute("select * from "&TableName)
TVar=rsIHF(FieldName)
IF Err.Number<>0 Then
IsHaveFiled=False
Else
IsHaveField=True
End IF
rsIHF.Close
Set rsIHF=Nothing
End Function
IF IsHaveFiled(con,"a","b") Then
Response.Write "a表中有b字段"
Else
Response.Write "a表中没有b字段"
End IF
#3
tianyu1232007-10-15 17:55

恩~ 斑竹正解!
#4
qhscqb2007-10-15 18:04
对,通过函数返回值来判断,好!
又学了一点
#5
做人很低调2007-10-15 20:11

2楼的方法有点取巧
但正规方法应该如下:

<%
Dim i,Rs,Sql,Table,Column,Bool

Table = "A"
Column = "B"
Bool = False

sql="Select * From ["&Table&"]"
Set Rs = Conn.ExeCute(Sql)

For Each i In Rs.Fields
'Response.Write(i.Name&"<br>")
If i.Name=Column Then
Bool = True
Exit For
End If
Next
If Bool Then
Response.Write("在《"&Table&"》表中,存在《"&Column&"》列!")
Else
Response.Write("在《"&Table&"》表中,不存在《"&Column&"》列!")
End If
%>

#6
guaishi2007-10-16 14:06

太高深了不明白
不过我用别的办法实现了不用判断了

1