bonjour, je débute avec les paramètres dans les requêtes je trouve ça diablement efficace surtout la gestion du type de données!

J'ai un code qui fonctionne mais j'ai quelques questions sur l'utilisation car dans les divers exemples que je trouvais ils n'y avaient pas ce que j'ai dû mettre pour que cela fonctionne, alors si quelqu'un a un avis sur mon travail ça serait sympa de me dire si ça peut être amélioré

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
25
26
27
28
    With DBGridCustomAll Do
      With ADOQuery Do
      Begin
        Close;
        For I := 0 To NbSet Do
        Begin
          SQL.Clear;
          SQL.Add(strDebutSQL + strNomChamps + strMilieuSQL + strValeurs + strFinSQL);
          ParamCheck := True;
          Parameters.Refresh;
 //         C             := Parameters.Count; // for debug in rad see in c number of param
          For C := 0 To ColumnCount - 1 Do
          Begin
            If Columns[C].Tag <> -5 Then
            Begin
              Parameters.ParamByName(':P' + IntToStr(C)).Value    := Rows[i].Values[C];
              Parameters.ParamByName(':P' + IntToStr(C)).DataType := Columns[C].DataTypeField;
            End;
          End;
          ExecSQL;
          ParamCheck := false;
          Close;
     //     ShowMessage(SQL.Text);
          fmLoadWait.LoadPosition := I;
        End;
      End;
    End;
j'ai dû mettre Parameters.Refresh; sinon les paramètres n'étaient pas créés c'est bon?

et j'ai dû mettre aussi ParamCheck := false; sinon au deuxième passage dans la boucle j'avais un message comme quoi les paramètres n'étaient pas trouvés.

est-ce que je dois réaffecté ma requête à chaque boucle? histoire de ne pas mélanger les valeurs en cas de valeur vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
          SQL.Clear;
          SQL.Add(strDebutSQL + strNomChamps + strMilieuSQL + strValeurs + strFinSQL);
merci d'avance pour vos précieux conseils

Je vous mets ma requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
---------------------------
gestion_exposant
---------------------------
INSERT INTO [Info exposant print]
([Date d'inscription], [NOM])
VALUES
(:P0, :P1);
 
---------------------------
OK   
---------------------------