AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit SQL.Add

Ein Thema von jmich · begonnen am 14. Feb 2022 · letzter Beitrag vom 16. Feb 2022
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.573 Beiträge
 
Delphi 12 Athens
 
#1

AW: Problem mit SQL.Add

  Alt 14. Feb 2022, 19:40
Selbst Schuld, wenn du in deiner Fehlerbehandlung deinem sinnlosen Try-Except-Gestümpere grob fahrlässig die ursprüngliche Fehlermeldung vernichtest.


PS:
Zitat:
SQL.Add('Where Rechnr = + QuotedStr(ed_rechngd_rechnr.Text)+');
und die Kommas
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
752 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Problem mit SQL.Add

  Alt 15. Feb 2022, 05:51
Was mache ich falsch ?
Delphi-Quellcode:
  with LiteQuery_rechng do
              begin
                SQL.Add('Nachlassumme = :nasum');
                try
                 ExecSQL;;
               except
                  ShowMessage('Speichern fehlgeschlagen');
                end;
              end;
So zimelich alles.

with Das hatten wir doch erst? Das ist eine Plage! Vergiss einfach das es existiert und arbeite ohne!

ShowMessage('Speichern fehlgeschlagen'); Genau! Nur wo?
Delphi-Quellcode:
try
//alles sql gezerre
except on E:Exception do
  ShowMessage('Speichern fehlgeschlagen. Fehler : '+E.Message);
end;
Wäre es so nicht etwa besser?

SQL.Add('Nachlassumme = :nasum'); Nach jedem Feld in der Zuweisungsliste kommt ein Komma (außer beim letzten natürlich)

Try-Except-Gestümpere
Himitsu! Du hast zwar recht, aber das kann man auch ein klein wenig freundlicher sagen.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.

Geändert von Sinspin (15. Feb 2022 um 05:51 Uhr) Grund: Tippfehler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.460 Beiträge
 
Delphi 12 Athens
 
#3

AW: Problem mit SQL.Add

  Alt 15. Feb 2022, 06:59
Hallöle...

...ich hatte mir geschworen, niemals mehr auf Beitrage die WITH enthalten zu antworten... Das WITH sagt...entweder Copy/Paste aus alten Beispielen oder "ich hab das immer so gemacht". Die Zeiten ändern sich...

Delphi-Quellcode:
...
SQL.Add('Where Rechnr = + QuotedStr(ed_rechngd_rechnr.Text)+');
...meinst du, daß das SQL(string) "QuotedStr" versteht?

besser für die Zeile:
Delphi-Quellcode:
...
SQL.Add('where Rechnr = ' + QuotedStr(ed_rechngd_rechnr.Text));
die richtige Zeile:
Delphi-Quellcode:
LiteQuery_rechng.SQL.Add('where Rechnr = :REN');
LiteQuery_rechng.SQL.ParamByName('REN').AsString := ed_rechngd_rechnr.Text;

PS: gegen die ADD Origien gibt es was von "mir" https://www.delphipraxis.net/190316-...e-creator.html

Geändert von haentschman (15. Feb 2022 um 07:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.573 Beiträge
 
Delphi 12 Athens
 
#4

AW: Problem mit SQL.Add

  Alt 15. Feb 2022, 07:05
Was soll man da denn noch sagen?

Ohne den Schwachsinn mit Try-Except, würde er bestimmt eine richtige Fehlermeldung bekommen, die ihm alle Fehler zeigt.



Selbst wenn die DB das QuoteStr verstehen würde, dann spätestens das im QuoteStr nicht mehr, bzw. die + davor und dahinter auch nicht.

Aber vorher wäre erstmal beim zweiten = gemeckert wurden, wegen der fehlenden Komata.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
302 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Problem mit SQL.Add

  Alt 15. Feb 2022, 08:52
Moin,

Du könntest das auch so schreiben:

Delphi-Quellcode:
   qry1.SQL.Text   :=   'UPDATE Rechnung SET ' +
               '   MWSteuer = :mw ' +
               '   ,Nachlassumme = :nasum ' +
               '   ,Sicherheitsumme = :ssum ' +
               '   ,Skontosumme = :sksum ' +
               '   ,Nettosumme = :nsum ' +
               '   ,Bruttogesamt = :bsum ' +
               'WHERE ' +
               '   Rechnr = :ed_rechngd_rechnr ';
und dann kommt das füllen der Parameter.

Das fehlende Komma ist natürlich das erste Problem, mehrere Felder mit SET ändern bedarf einem Komma vor jedem Feld bzw. nach jedem Inhalt.
Und dann kannst Du die Rechnr natürlich auch per Parameter übergeben.
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat
jmich

Registriert seit: 24. Dez 2007
40 Beiträge
 
#6

AW: Problem mit SQL.Add

  Alt 15. Feb 2022, 17:40
Als erstes mal vielen Dank.

Die Lösung beim Betrag von Haentschman hatte ich schon auch
probiert, aber funhtionierte eben nicht.
Das mit den fehlenden Kommas hatte ich auch schon erkannt.
Das mit der Fehlerexcept wurde mir von einen im Forum als Lösung unterbreitet.

Die Lösung von rokli war für mich die beste und diese klappt auch super.
Sie ist sehr übersichtlich.
Nochmals vielen Dank besonders an rokli, der auch nett die Lösung rübergebtacht hat.

Jmich
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.573 Beiträge
 
Delphi 12 Athens
 
#7

AW: Problem mit SQL.Add

  Alt 15. Feb 2022, 17:52
Try-Except macht nur Sinn, wenn man darin auch was Sinnvolles macht.

z.B. den originalen Fehler in ein Log schreiben,
oder ihn an die neue Fehlermeldung mit anzuhängen.

Oder eben, wenn man genau weiß welcher Fehler es ist und man ihn gezielt unterdrücken will, um es z.B. nochmal anders zu versuchen, oder Dergleichen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.259 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Problem mit SQL.Add

  Alt 15. Feb 2022, 18:58
Was soll man da denn noch sagen?

Ohne den Schwachsinn mit Try-Except,..
Schön zu sehen, dass sich Deine Arroganz auch nach mehreren Jahren nicht gelegt hat.
Persönliche Entwicklung im Fachgebiet -> Stetig steigend
Persönliche Entwicklung im Umgang mit Menschen -> Stetig fallend
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Problem mit SQL.Add

  Alt 15. Feb 2022, 21:16
Hallo,
sehe ich nicht so!

Es ist halt ein Problem, dass hier ankommen,
und die einfachsten Sachen ignorieren.

wenn ich try except benutzen, dann doch bitte richtig.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.375 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Problem mit SQL.Add

  Alt 16. Feb 2022, 06:41
Fahrt mal ein bischen runter, Leute.

Als ich die Eingangsfrage gelesen hatte, dachte ich auch, dass da wesentliche Grundlagen nicht beachtet werden. OK, gedacht habe ich da was anderes, aber formulieren kann man es ja netter.
Dann habe ich genauer hingesehen:
- TE seit 2007 hier mit 15 Beiträgen
- D5
- Simple SQL-Fehler (und andere Grundlagenfehler)
Folglich wenig/keine Erfahrung, Gelegenheitsprogrammierer, o.ä.

Das kann man einfach mal berücksichtigen, wenn man antwortet und muss nicht mit dem Hammer drauf hauen. Auch wenn man diese Sachen ständig wiederholen muss. Der harte Kern der DP liest hier sicher täglich mit, aber die meisten kommen nur hierher, wenn sie ein Problem haben und wissen nicht, was man hier regelmäßig wiederholen muss.

Also nächstes mal einfach erstmal entspannt zurücklehnen und überlegen, was und wie man antwortet. Oder man hält einfach mal die Finger still. Auf die Grundlagen werden auch andere hinweisen.
Peter
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz