打印本文 打印本文 关闭窗口 关闭窗口
在VB6中判断数据库中是否存在某表或某字段
作者:武汉SEO闵涛  文章来源:敏韬网  点击数588  更新时间:2009/4/23 15:42:21  文章录入:mintao  责任编辑:mintao


其实判断数据库表及其字段的方式很多,如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

打印本文 打印本文 关闭窗口 关闭窗口