AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL - Invalid cursor declaration
Thema durchsuchen
Ansicht
Themen-Optionen

SQL - Invalid cursor declaration

Ein Thema von stalkingwolf · begonnen am 5. Feb 2019 · letzter Beitrag vom 7. Feb 2019
Antwort Antwort
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: SQL - Invalid cursor declaration

  Alt 7. Feb 2019, 10:02
In neueren Versionen (hier 10.2.3) wird der Cursorname überhaupt nicht mehr gesetzt, dort entfällt das Problem, da isc_dsql_set_cursor_name nicht aufgerufen wird.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
hoika

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

AW: SQL - Invalid cursor declaration

  Alt 7. Feb 2019, 10:17
Hallo,
nein, nicht korrekt verstanden.
Rufe die Patch-Methode im Constructor deiner abgeleiteten Klasse auf.

Somit ist der Patch immer automatisch gesetzt.

Delphi-Quellcode:
constructor TMyIBSQL.Create ...
begin
  inherited ....

  PatchIBSQLCursor(Self);
end;
Heiko

Geändert von hoika ( 7. Feb 2019 um 10:20 Uhr)
  Mit Zitat antworten Zitat
stalkingwolf

Registriert seit: 6. Mai 2011
549 Beiträge
 
#3

AW: SQL - Invalid cursor declaration

  Alt 7. Feb 2019, 11:00
Ok ja. Das spart natürlich Arbeit.

In neueren Versionen (hier 10.2.3) wird der Cursorname überhaupt nicht mehr gesetzt, dort entfällt das Problem, da isc_dsql_set_cursor_name nicht aufgerufen wird.
In 10.1 wird es noch im .prepare von TIBSQL aufgerufen.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: SQL - Invalid cursor declaration

  Alt 7. Feb 2019, 11:27
Ein Cursor wird bei IB/FB nur für einen wahrscheinlich seltenen Anwendungsfall benötigt. Nämlich nur dann, wenn man positioned Updates durchführen möchte, also Spalten im Lesepuffer beim Lesen sperren möchte.

Select ... for update of ... with lock

Zitat von API-Doc:
A cursor is a one-way pointer into the ordered set of rows retrieved by a statement. A
cursor is only needed to process positioned UPDATEand DELETEstatements made against
the rows retrieved by isc_dsql_fetch() for SELECT statements that specify an optional FOR
UPDATE OF clause.
Understanding the with lock clause
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  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 17:39 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