Bonjour
j'essaie de stocker des donne en cache avec IbClientDataSet
j'ai un bouton ou je creer en cache mes donn�es via une requete SQL venant de FireBird
de meme j'ai essaye comme cela sans succes
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 if( IbSgbd->IBClientDataSet->Fields->FindField("ds_id")==NULL) // if(IbSgbd->IBClientDataSet->FieldList->Find("ds_id")==NULL) { //creation d'un champ de type integer IbSgbd->IBClientDataSet->FieldDefs->Add("ds_id",ftInteger,0); IbSgbd->IBClientDataSet->CreateDataSet(); }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 TField* pField= NULL; pField=IbSgbd->IBClientDataSet->Fields->FindField("ds_id"); if(pField==NULL ) // if(IbSgbd->IBClientDataSet->FieldList->Find("ds_id")==NULL) { IbSgbd->IBClientDataSet->FieldDefs->Add("ds_id",ftInteger,0); IbSgbd->IBClientDataSet->CreateDataSet(); }
lorsque je clique sur la premiere fois sur le bouton je rentre dans le test normal pour moi
lorsque je relique une seconde fois je rentre dans le test de nouveau
et j'ai l'exception lanc�e "un champ ds_id existe d�j�"
J'ai regarde l'aide sur ces m�thodes Find et FindField elle renvoie null lorsque le champ n'est pas trouv�e .
Je pourrais utiliser le m�thode RecordCount mais cela ne me conviens pas
Qui aurait une id�e pour "betonner " mon test ?
merci d'aider un debutant
Partager