在VB6中判断数据库中是否存在某表或某字段

类别:.NET开发 点击:0 评论:0 推荐:


其实判断数据库表及其字段的方式很多,如ADOX对象。不过,当你的系统中存在了ADODB对象时,根本没有必要再去使用其它对象,减少发布的麻烦。这里便是利用Connection和Recordset对象,在VB6中判断数据库中是否存在某表或某字段。

以下是通过该方式写的两个通用函数。


' -------------------------------------------------------
' 判断数据库表中是否存在某个数据库表
'
' 参数:
'     strConn:连接字符串;TableName:表名称
' 返回值:
'         若存在返回True;否则返回False
' -------------------------------------------------------
Function ChkTable(Byval strConn As String,Byval TableName As String) As Boolean
        Dim tbs As ADODB.Recordset
        Dim conn as new ADODB.Connection

        conn..ConnectionString=strConn
        conn.Open 
        Set tbs=CONN.OpenSchema(20)
        tbs.Filter="TABLE_NAME='"&TableName&"' "
        If Not tbs.eof then
                 chktable=true
        Else  chktable=false
        End if

        conn.Close
        set conn=Nothing
        tbs.Close
        set tbs=nothing
End function


' --------------------------------------------------------------------------------------
' 判断数据库表中是否存在某个字段
'
' 参数:
'     strConn:连接字符串;TableName:表名称,ColumnName 字段名
' 返回值:
'         若存在返回True;否则返回False
' -------------------------------------------------------------------------------------
'
Function ChkColumn(Byval strConn As String,ByVal TabName As String, ByVal ColumnName As String) As Boolean
        Dim rs As ADODB.Recordset
        Dim conn as new ADODB.Connection

        conn..ConnectionString=strConn
        conn.Open  
    
        Set rs = Conn.OpenSchema(4)
        rs.Filter = "COLUMN_NAME='" & ColumnName & "' And  " & "TABLE_NAME='" & TabName & "' "
   
        If Not rs.EOF Then
                ChkColumn = True
        Else
                ChkColumn = False
        End If
        
        conn.Close
        set conn=Nothing
        rs.Close
        Set rs = Nothing
End Function

本文地址:http://com.8s8s.com/it/it42462.htm