AGB  ·  Datenschutz  ·  Impressum  







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

IBDAC und Execsql

Ein Thema von hanspeter · begonnen am 8. Nov 2010 · letzter Beitrag vom 9. Nov 2010
Antwort Antwort
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

IBDAC und Execsql

  Alt 8. Nov 2010, 23:50
Datenbank: Firebird • Version: 2,5 • Zugriff über: IBDAC
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: IBDAC und Execsql

  Alt 9. Nov 2010, 06:22
.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
Markus Kinzler
  Mit Zitat antworten Zitat
kretabiker

Registriert seit: 10. Mär 2005
Ort: Bargteheide
183 Beiträge
 
Delphi 12 Athens
 
#3

AW: IBDAC und Execsql

  Alt 9. Nov 2010, 09:08
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
Udo Treichel
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#4

AW: IBDAC und Execsql

  Alt 9. Nov 2010, 10:34
Hi,

@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
Ich habe in die Quelle geschaut. In Execute steht nichts weiter als ExecSQL.
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
  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 19:05 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