Hi, hab folgendes Problem.
Hab ein Listview mit checkboxen. Im Ereignis ListView1MouseUp frage ich ab ob die checkbox angeklickt wurde.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm3.ListView1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var Item: TListItem; HitTest: THitTests; begin Item := ListView1.GetItemAt(x, y); HitTest := ListView1.GetHitTestInfoAt(x, y); if (Item <> nil) and (HitTest = [htOnStateIcon]) then begin if (item.Checked = true) then begin adocommand1.CommandText := 'insert into rechnung (kundenid,bezeichnung,netto,datum,recid) values ('+edit1.Text+',"'+item.SubItems[0]+'","'+item.SubItems[1]+'","2009-20-22",'+edit2.Text+')'; adocommand1.Execute; end; end; end; |
Funktioniert auch soweit, jedoch habe ich das Problem dass es mir zweimal den Datensatz in die Datenbank schreibt. Setze ich nachdem execute ein showmessage dann schreibt er nur einmal. also genau so wie ich es brauche.
Hat jemand eine Idee bzw. kann mir helfen warum das passiert?
Danke
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt