{X10-FIREDAC]Commande sql avec texte intégré
Bonjour
Je sais, vous allez dire que je ne cherche pas sur Google, soit, mais je ne trouve pas ce que je veux. C'est pourquoi, après plusieurs heures de recherches et tests je
viens solliciter vos connaissances.
Mon problème est que je veux lancer cette commande
Code:
1 2 3 4 5 6
| FDONNEES.DonneesConnection.ExecSQL('DROP TABLE TONNE');
FDONNEES.DonneesConnection.ExecSQL('CREATE TABLE TONNE (TID INTEGER (6), TREGION CHAR (5), TMAT CHAR (15), TD1 NUMERIC (6, 3), TD2 NUMERIC (6, 3), TD3 NUMERIC (6, 3), TD4 NUMERIC (6, 3), TD5 NUMERIC (6, 3), TD6 NUMERIC (6, 3));');
// j'ai un erreur ici
FDONNEES.DonneesConnection.ExecSQL('INSERT TABLE TONNE VALUES (1, NULL, QUOTESTR(Vrac), 1.318, 0.263, 0.239, 0.146, 0.099, 0.079));'); |
je pense que mon problème vient d'ici
NULL, QUOTESTR(Vrac),
Merci de votre aide
Mario
[X10-FIREDAC]Commande sql avec texte intégré
Merci SergioMaster
J'avais bien vue cette exemple et essayé plusieurs fois de toutes les manières et j'avais toujours un erreur. Donc j'ai eu recours au forum
mon erreur n'était pas sur la formulation du champ texte mais:
Code:
1 2
|
FDONNEES.DonneesConnection.ExecSQL('INSERT TABLE TONNE VALUES (1, NULL, :PVrac, 1.318, 0.263, 0.239, 0.146, 0.099, 0.079)',[Vrac]); |
j'avais écrit TABLE au lieu de mettre INTO ce qui me donnait toujours un erreur sur ce que je faisais , désolé
Comme je suis a mes débuts en SQL travaillant toujours avec des vielles commande de BDE je voulais remplacé ces lignes de codes par des commande SQL pour toujours diminuer les lignes de code dans mon programme et augmenter la vitesse d'exécution sur mon Iphone
Code:
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
|
FDONNEES.tonnetable.Append;
FDONNEES.tonnetable.Fields[0].Asstring:='1';
FDONNEES.tonnetable.Fields[1].Asstring:='';
FDONNEES.tonnetable.Fields[2].Asstring:='Vrac';
FDONNEES.tonnetable.Fields[3].AsFloat:=1.318;
FDONNEES.tonnetable.Fields[4].AsFloat:=0.263;
FDONNEES.tonnetable.Fields[5].AsFloat:=0.239;
FDONNEES.tonnetable.Fields[6].AsFloat:=0.146;
FDONNEES.tonnetable.Fields[7].AsFloat:=0.099;
FDONNEES.tonnetable.Fields[8].AsFloat:=0.079;
FDONNEES.tonnetable.POST;
FDONNEES.tonnetable.Append;
FDONNEES.tonnetable.Fields[0].Asstring:='2';
FDONNEES.tonnetable.Fields[1].Asstring:='IM';
FDONNEES.tonnetable.Fields[2].Asstring:='Vrac';
FDONNEES.tonnetable.Fields[3].AsFloat:=1.477;
FDONNEES.tonnetable.Fields[4].AsFloat:=0.279;
FDONNEES.tonnetable.Fields[5].AsFloat:=0.279;
FDONNEES.tonnetable.Fields[6].AsFloat:=0.181;
FDONNEES.tonnetable.Fields[7].AsFloat:=0.135;
FDONNEES.tonnetable.Fields[8].AsFloat:=0;
FDONNEES.tonnetable.POST;
FDONNEES.tonnetable.Append;
FDONNEES.tonnetable.Fields[0].Asstring:='3';
FDONNEES.tonnetable.Fields[1].Asstring:='10-1';
FDONNEES.tonnetable.Fields[2].Asstring:='Vrac';
FDONNEES.tonnetable.Fields[3].AsFloat:=1.3894;
FDONNEES.tonnetable.Fields[4].AsFloat:=0.360;
FDONNEES.tonnetable.Fields[5].AsFloat:=0.322;
FDONNEES.tonnetable.Fields[6].AsFloat:=0.116;
FDONNEES.tonnetable.Fields[7].AsFloat:=0.116;
FDONNEES.tonnetable.Fields[8].AsFloat:=0.116;
FDONNEES.tonnetable.POST; |
ce qui donne
Code:
1 2 3 4 5 6
|
FDONNEES.DonneesConnection.ExecSQL('INSERT INTO TONNE VALUES (1, '''', ''Vrac'', 1.318, 0.263, 0.239, 0.146, 0.099, 0.079)');
FDONNEES.DonneesConnection.ExecSQL('INSERT INTO TONNE VALUES (2, ''IM'', ''Vrac'', 1.477, 0.279, 0.279, 0.181, 0.135, 0)');
FDONNEES.DonneesConnection.ExecSQL('INSERT INTO TONNE VALUES (3, ''10-1'', ''Vrac'', 1.394, 0.360, 0.322, 0.116, 0.116, 0.116)'); |
ce qui fonctionne tres bien
Est-ce mieux, plus rapide ou je peux utilisé d'autre commande .Toujours en pensant au limitation de SqLite dans mon iPhone et Windows.
Merci encore pour ta patience ( Ca me donne une formation accéléré). et je peux te dire que je cherche beaucoup mais des fois du chinois c'est difficile a comprendre....
Mario
[X10-FIREDAC]Commande sql avec texte intégré
Bonjour
Merci Sergio ca devient de plus en plus claire avec tes explications et ta lecture qui tu suggères.
Merci de ta générosité a nous répondre.
Mario