Subject | Re: [firebird-support] Fastest way to check if Firebird table exists |
---|---|
Author | Teträm Corp |
Post date | 2009-05-11T21:59:44Z |
Hi,
I think a better way is to use
select 1 from rdb$relations where rdb$relation_name = :strTable
and may be add "and rdb$relation_blr is null" (or kind of) to exclude views
Thierry
RB Smissaert a écrit :
I think a better way is to use
select 1 from rdb$relations where rdb$relation_name = :strTable
and may be add "and rdb$relation_blr is null" (or kind of) to exclude views
Thierry
RB Smissaert a écrit :
>
>
> Need a fast function in VB that checks if a Firebird (1.5) table
> exists and
> came up with:
>
> Public Function FirebirdTableExists(strTable As String) As Long
>
> Dim strSQL As String
> Dim rs As ADODB.Recordset
>
> 'will give 1 if table exists and has records
> 'will give 0 if table exists, but has no records
> 'will give -1 if table doesn't exist
> '-----------------------------------------------
> On Error GoTo ERROROUT
>
> strSQL = "SELECT FIRST 1 RDB$DB_KEY FROM " & strTable
>
> Set rs = New ADODB.Recordset
> rs.Open strSQL, oADOConn, adOpenForwardOnly, adLockReadOnly, adCmdText
>
> If Not rs.EOF Then
> FirebirdTableExists = 1
> End If
>
> Exit Function
> ERROROUT:
>
> FirebirdTableExists = -1
>
> End Function
>
> Anything wrong with this or any suggestions for something better?
>
> RBS
>
>