AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Abfrage ob Insert erfolgreich war
Thema durchsuchen
Ansicht
Themen-Optionen

Abfrage ob Insert erfolgreich war

Ein Thema von diexsie · begonnen am 30. Nov 2009 · letzter Beitrag vom 30. Nov 2009
Antwort Antwort
diexsie

Registriert seit: 17. Sep 2009
6 Beiträge
 
#1

Abfrage ob Insert erfolgreich war

  Alt 30. Nov 2009, 11:01
Datenbank: MySql • Version: 5.x • Zugriff über: Zeos
Hätte mal eine Frage.

Wie kann man prüfen, ob ein Insert Statement erfolgreich ausgeführt wurde?
Benutze die Komponenten von Zeos.

Mein Code bis jetzt:
//query: TZQuery;
query.SQL.Clear;
query.SQL.Add('sqlstatement');
query.ExecSQL;

sowas wie:

var
result:bool;
result := query.SQL.Add('sqlstatement');

funktioniert leider nicht...

Irgendwelche Vorschläge? Vielen Dank schonmal in voraus.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Abfrage ob Insert erfolgreich war

  Alt 30. Nov 2009, 11:03
Kannst Du AffectedRows abfragen? Ich bin gerade nicht sicher, ob das mit ZEOS geht.
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
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Abfrage ob Insert erfolgreich war

  Alt 30. Nov 2009, 11:03
Zitat von diexsie:
Wie kann man prüfen, ob ein Insert Statement erfolgreich ausgeführt wurde?
Wenn's nicht erfolgreich ist wird die Datenbank/Komponente ein Exception werfen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Abfrage ob Insert erfolgreich war

  Alt 30. Nov 2009, 11:45
Hallo,

ich kenne die ZEOS-Lib nicht aber so müsste es funktionieren:

Delphi-Quellcode:
query.SQL.Text:='sqlstatement';
query.ExecSQL;
if (query.RowsAffected=1) then ShowMessage('1 Datensatz erfolgreich eingefügt!');
  Mit Zitat antworten Zitat
diexsie

Registriert seit: 17. Sep 2009
6 Beiträge
 
#5

Re: Abfrage ob Insert erfolgreich war

  Alt 30. Nov 2009, 12:35
Habe es jetzt mit der Exceptionidee gelöst. Bei fehlerhaftem Insert wird die EZSQLException geworfen.
Leider kennt mein Delphi diese Exception nicht. Habe daher leider die Standardexception Klasse "Exception" verwendet.
Wie kann ich in mein Delphi die EZSQLException Klasse importieren?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Abfrage ob Insert erfolgreich war

  Alt 30. Nov 2009, 14:48
Indem Du herausfindest, in welcher Unit diese Klasse deklariert ist und diese Unit in deine Uses-Klausel mit aufnimmst.
Zitat von Gollum:
Delphi-Quellcode:
..
if query.RowsAffected > 1 then
  ShowMessage('1 Datensatz erfolgreich eingefügt!');
Wäre ja denkbar, das das INSERT mehr als eine Zeile einfügt bzw. die Anweisung Auswirklungen auf mehr als eine Zeile hat.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
hoika

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

Re: Abfrage ob Insert erfolgreich war

  Alt 30. Nov 2009, 20:08
Hallo,

ich schätze mal, die Exception ist in

ZSysUtils

definiert.

Ein simples Suchen per Explorer oder Grep wäre ne Lösung.


Heiko
Heiko
  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 04:00 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