AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Aus TTable etwas löschen Fehlermeldung für Query
Thema durchsuchen
Ansicht
Themen-Optionen

Aus TTable etwas löschen Fehlermeldung für Query

Ein Thema von GoTo0815 · begonnen am 27. Feb 2006 · letzter Beitrag vom 27. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#1

Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 08:12
Datenbank: Paradox • Version: 7 • Zugriff über: TTable und Query
Hallo,

folgendes Problem:

Delphi-Quellcode:
 if MessageDlg('Wirklich löschen?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    Query_Suchen.active := false; // meine such Query deaktivieren
    Table_Retouren.First;
    For i:= 1 to Table_Retouren.RecordCount -1 do
    begin
     flusher := 0; // flusher ist eine Zahl die im Timer hochgezählt wird um die Datenbank alle zwei
                      minuten mit fluchbuffers zu schreiben. durch das Setzten auf 0 verhindere ich das
                      während dieser for Schleife

     if Table_RetourenKunde.Value = Edit7.Text then Table_Retouren.Delete
     else
     begin
      if not Table_Retouren.Eof then Table_Retouren.Next;
     end;

    end;
    if Table_RetourenKunde.Value = Edit7.Text then Table_Retouren.Delete //eventuell letzten Datensatz
                                                                            löschen
  end;
  Edit7.Text := '';
  with Query_Suchen do // Such Query wieder aktivieren
     begin
      sql.clear;
      sql.add('SELECT * FROM retouren');
      ParamCheck := true;
      active := true;
      open;
     end;
  Label43.Caption := IntToStr(Query_Suchen.RecordCount);
Mein Problem ist, dass ich nach Durchlauf immer ein EDBEngine Error bekomme Meldung: 'ungültiger Parameter'.

Leider bin ich mit meinem Latein am Ende und hoffe auf Eure Hilfe.

Danke im Voraus

Hendrik
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 08:16
Sorry hatte noch etwas wichtiges vergessen.

Die Table und die Query benutzen die gleiche Datenbank

Gruß

Hendrik
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 08:19
Warum löscht du nicht über eine Query? So kannst du durch einen Aufruf alle zu löschenden Datensätze löschen.

Du mußt den (Such-)Query nicht immer neu setzen. Close/Open reicht aus (wenn überhapt nötig)
Markus Kinzler
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 08:22
Hallo,

dachte eine Query wäre nur zum betrachten.

Wie kann ich denn aus der Query mit einem Befehl alle löschen?

Die SQL setze ich neu, weil ich vorher ja nach dem Text gesucht habe der im Editfeld7 steht und ich nun wieder alle Datensätze anzeigen möchte.

Gruß

Hendrik
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 08:34
Query vorbereiten:
loeschQuery.SQL.Text := 'delete from retouren where Kunde = :Kunde'; In der Löschschleife dann
Delphi-Quellcode:
loeschQuery.paramByName('Kunde').asString := Edit7.Text;
loeschQuery.Execute;
Nun löscht er alle Datensätze auf die das Kriteriium zutrifft
Markus Kinzler
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 08:39
Danke, dass probiere ich gleich aus. Nur eine Frage noch:

Wird das dann auch in die Datenbank geschrieben, oder verschwindet das nur aus der Ansicht der Query.

Muss ich die Table dann Refreschen nach den Löschvorgang?
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 08:42
Zitat von HendrikSturm:
Danke, dass probiere ich gleich aus. Nur eine Frage noch:

Wird das dann auch in die Datenbank geschrieben, oder verschwindet das nur aus der Ansicht der Query.
Es wirkt sich auf die Datenbanktabelle aus.
Zitat:
Muss ich die Table dann Refreschen nach den Löschvorgang?
Falls du die Tbale noch für etwas anderes brauchst (Du suche läuft ja über eine Query ab, welche ja hier wieder alle Datensätze anzeigt), Ja.
Markus Kinzler
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 08:56
auch auf die Gefahr hin, dass ich mich ein wenig blöd anstelle:

Delphi-Quellcode:
if MessageDlg('Wirklich löschen?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    with Query_Suchen do
     begin
      active := false;
      sql.clear;
      sql.add('delete from retouren where Kunde = :Kunde');
      ParamCheck := true;
      ParamByName ('Kunde').AsString := Edit7.Text;
      active := true;
      ExecSQL; // Execute kennt er bei mir nicht. Ich glaube das ist aber das gleiche, oder?
     end;
  end;
  Label43.Caption := IntToStr(Query_Suchen.RecordCount);
habe das so versucht, bekomme aber ein Fehler bei EXECSQL der lautet ENoResultSet Fehler beim erstellen des CursorHandles. Die Daten scheinen aber gelöscht zu sein.
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 09:02
Der Fehler kommt nicht beim execSql sondern beim Active
Delphi-Quellcode:
if MessageDlg('Wirklich löschen?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    with Query_Suchen do
     begin
      sql.Text := 'delete from retouren where Kunde = :Kunde';
      ParamCheck := true;
      ParamByName ('Kunde').AsString := Edit7.Text;
      ExecSQL; // Execute kennt er bei mir nicht. Ich glaube das ist aber das gleiche, oder? Ja!
     end;
  end;
  Label43.Caption := IntToStr(Query_Suchen.RecordCount);
Markus Kinzler
  Mit Zitat antworten Zitat
GoTo0815

Registriert seit: 18. Mai 2004
148 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Aus TTable etwas löschen Fehlermeldung für Query

  Alt 27. Feb 2006, 10:02
Delphi-Quellcode:
 if MessageDlg('Wirklich löschen?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  begin
    flusher := 0; // verhindern dass durch den Timer die Datenbank geschrieben wird
    BitBtn6.SetFocus;
    with Query_Suchen do
     begin
      sql.clear;
      sql.add('delete from retouren where Kunde = :Kunde');
      ParamCheck := true;
      ParamByName ('Kunde').AsString := Edit7.Text;
      ExecSQL;
     end;
  end;
  Table_Retouren.Refresh;
  Label43.Caption := IntToStr(Query_Suchen.RecordCount);
Jetz bekomme ich die Meldung: Operation bei geschlossener Datenbank nicht möglich.
Falls ich mal ein "DANKE" vergesse, hier schon mal eins im Voraus: Danke für Eure Zeit!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz