AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Seltsames Verhalten bei ZEOS und SQL UPDATE?
Thema durchsuchen
Ansicht
Themen-Optionen

Seltsames Verhalten bei ZEOS und SQL UPDATE?

Ein Thema von ryLIX · begonnen am 27. Jan 2009 · letzter Beitrag vom 27. Jan 2009
Antwort Antwort
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 12:37
Datenbank: SQLite • Version: 3 • Zugriff über: ZEOSLib
Moin

Ich bin gerade etwas verwirrt
Folgendes geht vor sich:
Ich Möchte ein VARCHAR Feld in einer Tabelle ändern.
Dazu rufe ich ein modales Formular auf und lasse den User den Text eingeben.
Wenn er dann Ok klickt solls per SQL UPDATE in die Datenbank.
Nun kommt der Haken.
Hier der QT:

Delphi-Quellcode:
procedure TMain.btnChangeCommentClick(Sender: TObject);
begin
  if lbFSW.ItemIndex <> -1 then
  begin
  CommentForm.ShowModal;
  if CommentForm.ModalResult = mrOK then
      ShowMessage('UPDATE '+table+' SET COMMENT ="'+CommentUnit.Comment+'" WHERE FSW ="'+col+'"');
      ZQuery1.SQL.Clear;
      ZQuery1.SQL.Add('UPDATE '+table+' SET COMMENT ="'+CommentUnit.Comment+'" WHERE FSW ="'+col+'"');
      ZQuery1.Open;
      ZQuery1.Close;
    lbFSWClick(Self);
  end;
end;
Jetzt das wo es bei mir gerade Hakt.
Wenn ich ShowMessage nicht aufrufe bekomme ich eine "LogicalError/Missing Database" Exception.
Wobei die Message gernicht angezeigt wird wenn sie Aufgerufen wird!?!

Warum?
Ich verstehs gerade nicht.
Alle Variablen enthalten Daten und auch die Korrekten.
Mit dem Aufruf von ShowMessage wird auch alles richtig eingetragen.
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 12:39
UPDATES/INSERTS/DELETES werden mit Exec(SQL) und nicht mit Open ausgeführt. Open erwartet einen Resultcurser welcher bei diesen SQL-Befehlen nicht vorhanden ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 12:42
Mal ein paar Änderungen eingebaut:
Delphi-Quellcode:
procedure TMain.btnChangeCommentClick(Sender: TObject);
begin
  if lbFSW.ItemIndex <> -1 then
  begin
  if CommentForm.ShowModal = mrOK then
    begin
      //ShowMessage('UPDATE '+table+' SET COMMENT ="'+CommentUnit.Comment+'" WHERE FSW ="'+col+'"');
      ZQuery1.SQL.Text := 'UPDATE '+table+' SET COMMENT ="'+CommentUnit.Comment+'" WHERE FSW ="'+col+'"';
      ZQuery1.ExecSQL;
      lbFSWClick(Self);
    end;
  end;
end;
Wobei die Verwendung von SQL-Parametern noch einen Tick besser wäre
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 13:11
Unterstützt den SqLite Parameter für Datenbankobjekte?
Markus Kinzler
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 13:14
Aaah

Ungewohnt mit Delphi und SQL zu arbeiten ^^
Habs vorher nur mit PHP gemacht.
Danke für den Hinweis nu bin ein ganzes Ende schlauer geworden

@mkinzler
Bin ich mir nicht sicher.

Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 13:15
Ich meinte damit jetzt nicht "table", da ich nicht davon ausgehe, dass das funktioniert, aber da standen ja noch 2 Variablen. Also so:
Delphi-Quellcode:
ZQuery1.SQL.Text := 'UPDATE '+table+' SET COMMENT =:comment WHERE FSW =:col';
ZQuery1.ParamByName('comment').AsString := CommentUnit.Comment;
ZQuery1.ParamByName('col').AsString := col;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#7

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 13:49
Funktioniert genauso gut.
Wo liegt der Unterschied?
Wäre diese Version "richtiger" oder schneller?
Oder optimaler für die spätere Wartung/Erweiterung?
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 13:57
Vor allem stellt sie sicher, dass das Format zum DBMS passt und SQL-Injection ausgeschlossen werden kann.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 14:07
Und das wenn die Abfrage mehrmal ausgeführt wird, das Parsen und optimieren der Abfrage durch das DBMS entfällt ( in diesem Fall nicht, da Tabelle ja gesetzt werden muss).
Markus Kinzler
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#10

Re: Seltsames Verhalten bei ZEOS und SQL UPDATE?

  Alt 27. Jan 2009, 14:49
Danke für die erklärungen

Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  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 14:06 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