[Seattle-Android-SQLite] Vérifier si la table est vide
Bonjour
Avec android-Sqlite
Je cherche depuis quelque jours la manière d'avoir l'information que ma table est vide.J'ai vérifier sur le forum et essayé plusieurs solutions suggérés mais j'ai toujours le résultats que ma table est vide même si j'ai des données dans la table.
Code:
1 2 3 4 5 6
|
if FDONNEES.postetable.isEmpty then
begin
showmessage('table vide');
dataposte;// ajoute les données
end; |
Il me manque quelque chose. Si j'essais de vider ma table j'ai un erreur quand elle est déja vide. Programme ne démarre pas.Quand je relance mon application la 2 eme fois je me retrouve avec mes données en double.
Même chose avec recordcount
Merci de votre aide
Mario
1 pièce(s) jointe(s)
[Seatle-Android-Sqlite]Verifier si la table est vide
Bonjour
Merci de votre aide
J'utilise firedac avec sqlite
Configuration pour le déploiement
Pièce jointe 200138
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
procedure TFdonnees.DONNEESCONNECTIONAfterConnect(Sender: TObject);
begin
{$IFDEF ANDROID}
//......
FDONNEES.DonneesConnection.ExecSQL('CREATE TABLE IF NOT EXISTS POSTE (RID INTEGER (3), RRECODE CHAR (4), RADMIN CHAR (50), RREGION CHAR (50), RDIRECTEUR CHAR (30), RTELE CHAR (15), RMAIL CHAR (50));');
{$ENDIF}
end;
procedure TFdonnees.DONNEESCONNECTIONBeforeConnect(Sender: TObject);
begin
{$IFDEF ANDROID}
FDONNEES.DonneesConnection.Params.Values['Database'] :=TPath.Combine(TPath.GetDocumentsPath, 'donnee.db');
{$ENDIF}
end; |
Si la table est vide je mets les données qui sont inscluse dans mon programme
Code:
1 2 3 4 5 6 7 8
| procedure dataposte ;
begin
IF FDONNEES.postetable.RecordCount=0 THEN
BEGIN
FDONNEES.DonneesConnection.ExecSQL('INSERT INTO POSTE VALUES (''1'', ''01'', ''xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'', ''Directeur régional'', '''', '''', '''')');
//............
end; |
Le même code dans IOS et je n'ai pas de probleme
la commande
Citation:
IF FDONNEES.postetable.RecordCount=0 THEN
ne semple pas etre reconnue par android il me donne comme résultat toujours 0 même quand il y a des données
Merci de votre aide
Mario
[Seatle-Android-Sqlite]Verifier si la table est vide
Bonjour
Merci de ton aide
Oui ma table est bien ouverte mais j'ai trouvé pourquoi que ca fonctionnait pas.
J'ai ajouté un refresh sur ma table apres avoir créé mes données et la livebindings les affichaient.
Merci
Mario