Bonjour,

J'ai une erreur que je n'arrive pas à résoudre.
je et une requete sql dans une variable, que j'execute ensuite grace à un database.execute()
Comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
procedure TFrmPrincipal.Button7Click(Sender: TObject);
var
commande_sql : string;
begin
 commande_sql := 'LOAD DATA  INFILE "' + '//opt//appli//donnees//spool//referentiel//' +
 'toto.csv" INTO TABLE matable FIELDS TERMINATED BY '';'' ENCLOSED BY ''"'' ESCAPED BY ''\\'' LINES TERMINATED BY ''\r\n''';
 FrmPrincipal.Database1.Execute(commande_sql);
 showmessage('fichier importé.');
end;
J'ai voulu comprendre le fonctionnement d'Execute() et quelque genre de message elle renvoi.
J'ai donc mis le retour dans une variable integer.
Comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
procedure TFrmPrincipal.Button7Click(Sender: TObject);
var
commande_sql : string;
recup := integer;
begin
 commande_sql := 'LOAD DATA  INFILE "' + '//opt//appli//donnees//spool//referentiel//' +
 'toto.csv" INTO TABLE matable FIELDS TERMINATED BY '';'' ENCLOSED BY ''"'' ESCAPED BY ''\\'' LINES TERMINATED BY ''\r\n''';
 recup := FrmPrincipal.Database1.Execute(commande_sql);
 showmessage('fichier importé.'+ inttostr(recup));
end;
Et bien ce code ne fonction ne pas et me renvoi une erreur de violation d'accés.
Je précise que ce message n'apparait que lorsque la variable recup est integer. Sinon ça ne compile pas
Voir l'image ce dessous.

Nom : Capture.PNG
Affichages : 202
Taille : 9,6 Ko

Merci de votre aide et de prendre sur votre temps.