AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Löschabfrage

Ein Thema von norbert3 · begonnen am 24. Sep 2006 · letzter Beitrag vom 24. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#1

Löschabfrage

  Alt 24. Sep 2006, 16:33
Datenbank: ABS • Version: 5.05 • Zugriff über: DataSet
Hey Leute,
ich komme wieder mal nicht weiter. Mein Problem: Ich möchte nach Auswahl eines Datums Datensätze löschen. Nach der Fehlermeldung "Error creating table handling - Native error 20001" löscht er exakt die Datensätze die er auch soll. Was mach ich den da falsch??

Delphi-Quellcode:
procedure TMainForm.Stundenlschen1Click(Sender: TObject);
begin
   with ABSQuery1 do
   begin
   sql.Text := 'Delete from tblBstAZ '
              +'WHERE Datum BETWEEN :von and :bis ';
    ParamByName('von').asString := InputBox('InputBox','Erstes Datum angeben!','Anfangswert');
    ParamByName('bis').asString := InputBox('InputBox','Zweites Datum angeben!','Endwert');
   open;
   end;
    MessageDlg('Daten gelöscht!', mtInformation,[mbOk], 0);
end;
Danke für eure Mühe im voraus.
mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Löschabfrage

  Alt 24. Sep 2006, 16:35
Hast du schon versucht die parameter als TDatetime zu setzen?
Markus Kinzler
  Mit Zitat antworten Zitat
enricoffo

Registriert seit: 24. Dez 2005
Ort: Keine Ergebnisse gefunden
38 Beiträge
 
Delphi 7 Professional
 
#3

Re: Löschabfrage

  Alt 24. Sep 2006, 17:05
Es kann aus sein, das du die eingegebenen Datum erst in SQL-Datum wandeln mußt. Das Problem hatte ich oft.
Da ist dann 13.12.2006 nicht möglich, sondern 12/13/2006.
Computer machen keine Fehler
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Löschabfrage

  Alt 24. Sep 2006, 17:08
Hey,
Delphi-Quellcode:
procedure TMainForm.Stundenlschen1Click(Sender: TObject);
begin
   with ABSQuery1 do
   begin
   sql.Text := 'Delete from tblBstAZ '
              +'WHERE Datum BETWEEN :von and :bis ';
    ParamByName('von').AsDateTime := StrToDateTime(InputBox('InputBox','Erstes Datum angeben!','Anfangswert'));
    ParamByName('bis').AsDateTime := StrToDateTime(InputBox('InputBox','Zweites Datum angeben!','Endwert'));
   open;
   end;
    MessageDlg('Daten gelöscht!', mtInformation,[mbOk], 0);
end;
Das Problem ist leider immer noch.

mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Löschabfrage

  Alt 24. Sep 2006, 17:09
Hey enricoffo

mit dem Datum anpassen könnte ich ei paar erklärende Worte brauchen. Bitte.

mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Löschabfrage

  Alt 24. Sep 2006, 17:13
Zitat von norbert3:
Hey enricoffo

mit dem Datum anpassen könnte ich ei paar erklärende Worte brauchen. Bitte.

mfg Norbert
Dieses Problem umgehst du schon durch den Einsatz von Parametern.

hast du mal in der ABS Doku nachgeschaut was der fehler im Detail bedeutet?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Löschabfrage

  Alt 24. Sep 2006, 17:25
Hey mkinzler,
in der Doku habe ich nur das gefunden:
Zitat:
5. Running the following code I get the following exception message:
"Error creating table handle - Native error: 2001"
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Query->SQL->Text = "INSERT INTO friends(name) VALUES ('Joseph') " ;
Query->Open();
}

INSERT, UPDATE, and other queries which don't return any data must be called by
TABSQuery->ExecSQL() method instead of TABSQuery->Open().

mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Löschabfrage

  Alt 24. Sep 2006, 17:31
Sagt doch alles DML-Abfragen liefern keine ergebnismenge zurück und müßen mit .ExecSQL ausgeführt werden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Löschabfrage

  Alt 24. Sep 2006, 18:10
wie rufe ich den diese Function auf?
Norbert Springer
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Löschabfrage

  Alt 24. Sep 2006, 18:12
Statt Open; ExecSQL;
Markus Kinzler
  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 18:40 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