Bonjour
J'avance dans la migration de mon interface base de donnée et...
Je tombe sur un nouveau problème.
J'ai donc un statement qui a été exploité et dont je n'ai plus besoin.
Je veux le clore et utiliser un nouveau statement.
J'ai essayé plusieurs approches à partir de celle qui avait marché pour les trasactions et que j'indique ci-après
J'ai essayé d'utiliser la même construction pour le statement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if( m_pTSQLQuery != NULL) m_pTSQLQuery->Commit(); else m_pTSQLQuery = TransactionFactory( m_pTSQLConnection, amRead, ilConsistency, lrWait, tfAutoCommit); m_pTSQLQuery->Start();
et j'ai essayé plusieurs approches je donne ci-dessous la dernière
et je commenterai ensuite les résultats et l'erreur qui est toujours la même
Je terminerai par les pistes.
Le dernier code:
ensuite les manifestations de l'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 // on démarre le statement if( bIsStatementAllocated == true) { delete m_pTSQLStatement; m_pTSQLStatement = new IBPP::Statement; *m_pTSQLStatement = StatementFactory( m_pTSQLConnection, m_pTSQLQuery); } else { m_pTSQLStatement = new IBPP::Statement; *m_pTSQLStatement = StatementFactory( m_pTSQLConnection, m_pTSQLQuery); bIsStatementAllocated = true; }
J'ai démarré par tester m_pTSQLStatement != NULL et je suis tombé sur l'erreur
puis j'ai essayé de mettre un booleen pour le test et donc je suis tombé sur l'erreur au moment du Close(), et enfin je suis tombé sur l'erreur au moment du delete.
L'erreur est toujours la même dans IBPP.h un accès mémoire interdit:
Je penche comme voie de recherche à vérifier le premier StatementFactory qui ne semblait pas poser de problème, mais l'histoire montre que c'est souvent comme cela que ca se passe avec IBPP?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void clear() { if (mObject != 0) { mObject->Release(); mObject = 0; } }
Qui peut m'orienter? ce serai cool
Partager