Bonjour!

J'ai un ptit probleme!

Je suis sous delphi7 et mySQL

et je souhaite faire des creations de table dynamiques

Pour cela j'ai une variable:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
begin
  Nom_Arbo := 'arbo_' + IDLoco_Edit.Text;
Ensuite je fais ma requete de creation de table:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
WITH DataModule1.MyQArbo DO
    BEGIN
      SQL.Clear;
      SQL.Add('CREATE TABLE '+ Nom_Arbo +' (           ');
      SQL.Add('ID_Engin_FK3 VARCHAR( 15 ) NOT NULL , ');
      SQL.Add('Module_N1 VARCHAR( 40 ) NOT NULL ,    ');
      SQL.Add('Module_N2 VARCHAR( 50 ) NOT NULL ,    ');
      SQL.Add('Module_N3 VARCHAR( 60 ) NOT NULL ,    ');
      SQL.Add('Module_N4 VARCHAR( 60 ) NOT NULL ,    ');
      SQL.Add('Module_N5 VARCHAR( 60 ) NOT NULL ,    ');
      SQL.Add('Module_N6 VARCHAR( 60 ) NOT NULL ,    ');
      SQL.Add('Code_Piece VARCHAR( 25 ) NOT NULL ,   ');
      SQL.Add('Nb_Piece SMALLINT NOT NULL ,          ');
      SQL.Add('Nom_Pas_FK1 VARCHAR( 15 ) NOT NULL ,  ');
      SQL.Add('Operation_M VARCHAR( 25 ) NOT NULL ,  ');
      SQL.Add('Prix FLOAT NOT NULL ,                 ');
      SQL.Add('MTBF FLOAT NOT NULL ,                 ');
      SQL.Add('Duree_Operation FLOAT NOT NULL ,      ');
      SQL.Add('Nb_MOE INT NOT NULL ,                 ');
      SQL.Add('Cout_Conso FLOAT NOT NULL ,           ');
      SQL.Add('Index_FL_FK1 VARCHAR( 30 ) NOT NULL   ');
      SQL.Add(') TYPE = innodb;                        ');
      Execute;
    END;
Mais il me met comme erreur lors de lexecution:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 'arbo_bb27056' SELECT * FROM Arbo' at line 1'. Processus stoppée....


Auriez vous une idée mes amis?