J'utilise l'Embedded, j'ai interfacé la DLL ( j'utilise GCC sur windows donc pas de .a pour ma pomme ). J'utilise aussi wxwidget.

La création de la BD fonctionne mais je but à la création d'une table. Avant de la créer je vérifie si la table n'existe pas. Du moins c'est ce que j'espère réussir à faire faire.

L'erreur qu'il me sort : Invalid token -104
cela se produit exactement lors de l'appel de isc_dsql_execute_immediate
D'ailleurs la requête peut être simplement wxT(" CREATE TABLE " ) + aNameDoubleCote, il en ressort la même erreur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
bool GR_Firebird::CreateTable( wxString aNameTable, bool Commit )
{
 
    if( m_baseAttache )
    {
        wxString aNameDoubleCote = wxT('"') + aNameTable + wxT('"')  ;
 
        wxString createTable = wxT( "IF NOT EXISTS ( SELECT name FROM sysobjects WHERE type='U' AND name = ") ;
        createTable += aNameDoubleCote + wxT(" ) ") ;
        createTable += wxT(" CREATE TABLE " ) +  aNameDoubleCote ;
 
        bool result = !GR_isc_start_transaction( m_status, &m_trans, 1, &m_db, 0, NULL ) ;
             result = result && !GR_isc_dsql_execute_immediate( m_status, &m_db, &m_trans, 0, createTable.c_str(), 1, NULL ) ;
 
        if( result )
        {
 
            wxMessageBox( wxT( "Nouvelle table cree : " ) + aNameTable ) ;
 
            if( Commit )
                GR_isc_commit_transaction( m_status, &m_trans ) ;
 
            return true ;
 
        }
        else
        {
            wxLogError( wxT("Impossible de creer la table : ") + aNameTable + GetSqlErreur( m_status )  ) ;
        }
 
    }
 
    return false ;
 
}
Merci de votre attention .