![]() |
Datenbank: Firebird • Version: 2,5 • Zugriff über: IBDAC
IBDAC und Execsql
Hallo,
ich habe jetzt ein Programm zur Erweiterung bekommen, das zeigt ein paar seltsame Effekte. In dem Programm ist ein Tool eingebunden, welches Daten in eine FB Datenbank schreibt. Das Schreiben erfolgt über eine Query etwa in der Form : Query.SQL.Text := 'UPDATE TABLE SET FELD=PARAM WHERE ...'; abgearbeitet wird die Anweisung dann mit Query.Execute. Das funktioniert innerhalb des Programmes problemlos. Binde ich dieses Modul jedoch in eine neu erzeugte Programmumgebung ein, dann funktioniert das nicht mehr. Projekt neu erzeugen nur ein Schalter, der die Updateanweisung aufruft. IM SQL Monitor sehe ich Starttransaction, Prepare der Query und Commit. Die eigentliche Updateanweisung wird nicht abgearbeitet. Da ich selbst solche Anweisungen mit ExecSQL ausführe, habe ich die Anweisung ausgetauscht und es funktioniert. Eine Frage an die IBDAC Nutzer. Kann es sein, das in einem der letzten Update diese Funktionalität modifiziert wurde? Eine Query für Update/Insert ist ohnehin etwas overheaded. Welche Möglichkeit sollte man bevorzugen. Script , ibcUpdateSQL oder das direkte EXECSQL des Connectobjectes (TIBCConnect)? Gruß Peter |
AW: IBDAC und Execsql
.Execute() ist imho nur für SPs
TIBCQuery bietet direkt die Möglichkeit Statements für INSERT, UPDATE, DELETE, ... zusätzlich zum Selectstatement zu konfigurieren |
AW: IBDAC und Execsql
Hi,
@mkinzler: ne, Execute paßt schon, denn ExecSQL macht auch nichts anderes als Execute aufzurufen - laut Doku: "The ExecSQL method does the same as the TCustomDADataSet.Execute method. It is included to TCustomIBCQuery for compatibility with TQuery." Im Source steht auch nix weiter als der Aufruf von "Execute" in der Methode. @hanspeter: wir nutzen selbst IBDAC und fast ausschließlich TIBCQUERY. Keine Änderung des Verhaltens von Execute bis einschließlich 3.10.irgendwas. Die letzte Version 3.5.sonstwas haben wir noch nicht. Viele Grüße Udo "Kretabiker" Treichel |
AW: IBDAC und Execsql
Zitat:
Trotzdem funktioniert es in einer Umgebung, und in der anderen aber nicht. Ich habe jetzt die Update/InsertQuery gegen eine TIBCSQL Komponente ausgetauscht. Da funktioniert es jetzt. (In dieser Componente heißt es nun sinnigerweise wieder Execute) Das ist nicht das erste mal, das sich Delphi-Compilate bei mir instabil verhalten. In der Umgebung, wo TIBCQuery nicht funktioniert, wird noch der locale ADS-Server verwendet. Wie gesagt das Verhalten ist im SQL Monitor zu beobachten. Ich verwende FB 2.5 X64. Gruß Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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