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