Enregistrer ,modifier dans une table paradox les éléments d'un listbox

cs_pascal57 Messages postés 18 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 2 avril 2012 - 4 mars 2012 à 14:44
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 9 mars 2012 à 03:07
Bonjour à tous et merci d'avance de votre aide.Avant toute chose mes excuses pour mon ignorance sur listbox je débute.Je cherche depuis un petit bout de temps sans résultat
j'ai un listbox avec plusieurs ligne que je voudrais modifier dans une base de données paradox dans un champs Memo

mon lisbox contiens

Ligne1
Ligne2
Ligne3
Ligne4
Ligne5

Je voudrais enregistrer dans ma table ,tous les lignes dans un champs Mémo
j'ai fait
procedure TForm1.Button1Click(Sender: TObject);
begin
with Query1 do
begin
SQL.Clear;
SQL.Add('Update table_test.db set Champs_test = '+ QuotedStr(ListBox1.Items[ListBox1.Items.Text])
+' where Idtest ='+ QuotedStr(Label1.caption)+'');

Prepare;
ExecSQL;
 end;
end;

mais j'ai une erreur incompatible integer et String

aprés l'enregistrement je voudrais les affichés
j'ai fait
ListBox2.Items.Add(Query1.FieldByName('Champs_test').AsString);

je ne suis pas sur d'afficher tous les enregistrements du champs ?

Par avance je vous remercies pour cette aide

2 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
5 mars 2012 à 14:32
Bonjour,

Pas vraiment top ta méthode..
Est ce que ta table contient toujours le même nombre d'éléments ?

cantador
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
9 mars 2012 à 03:07
Tu utilise Items.Text comme Index dans Items[] d'ou l'erreur !



procedure TForm1.Button1Click(Sender: TObject);
var X: integer;
begin
  for X := 0 to ListValues.Items.Count-1 do
  begin
    with Query1 do
    begin
      SQL.Clear;
      SQL.Add('UPDATE table_test.db SET Champs_test='''+ListValues.Items[X]+''' WHERE Idtest='+IntToStr(X)+';');
      Prepare;
      ExecSQL;
    end;
  end;
end;


La boucle sur X est en exemple

________________________________________________________
0
Rejoignez-nous