Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Fehlermeldung bei SQL Abfrage: Cursor nicht aus Abfrage (https://www.delphipraxis.net/86854-fehlermeldung-bei-sql-abfrage-cursor-nicht-aus-abfrage.html)

emsländer 20. Feb 2007 16:03

Datenbank: MSSQL • Version: 2005 SP2 • Zugriff über: ADO und direkt

Fehlermeldung bei SQL Abfrage: Cursor nicht aus Abfrage
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

hab da ein kleines Problem mit einer SQL-Abfrage:
Delphi-Quellcode:
function zeige_dokument_aus_sql(nummer : string) :integer;
  var _stmp : string;
   _query : Tsqlquery;
   erg64 : string;
   erg  : string;
begin
  result := 0;
  _query := TSQLquery.Create(nil);
     _query.sqlconnection := AktenManager.SQLConnection;
     try
      _stmp := 'select * from vertragswerk where lfdnr ='+nummer;
      _query.sql.Add('USE finanzdesk');
      _query.sql.Add(_stmp);
      _query.open;
      erg64 := _query.FieldByName('dokument').Value;
      _query.close;
      erg := base64decode(erg);
      frm_unterlagentext.wp_am_text.Text := erg;
      frm_unterlagentext.ShowModal;
     except
      result := 99;
     end;
   freeandnil(_query);
end;
Für einen Tipp wäre ich dankbar.

Gruss

EL

shmia 20. Feb 2007 16:08

Re: Fehlermeldung bei SQL Abfrage: Cursor nicht aus Abfrage
 
Du verwendest zwei SQL-Anweisung in einer Query. Das tut nicht gut.
deshalb:
Delphi-Quellcode:
_stmp := 'select dokument from finanzdesk.dbo.vertragswerk where lfdnr ='+nummer;
_query.sql.Text := _stmp;
_query.open;
Das Feld lfdnr sollte Primärschlüssel sein oder einen Index besitzen, damit der Zugriff bei grosser Datenmange trotzdem schnell bleibt.

emsländer 20. Feb 2007 16:13

Re: Fehlermeldung bei SQL Abfrage: Cursor nicht aus Abfrage
 
Zitat:

Zitat von shmia
Du verwendest zwei SQL-Anweisung in einer Query. Das tut nicht gut.
deshalb:
Delphi-Quellcode:
_stmp := 'select dokument from finanzdesk.dbo.vertragswerk where lfdnr ='+nummer;
_query.sql.Text := _stmp;
_query.open;
Das Feld lfdnr sollte Primärschlüssel sein oder einen Index besitzen, damit der Zugriff bei grosser Datenmange trotzdem schnell bleibt.

Hi shmia,

So funzt es! Danke!

Info: lfdnr ist Primärschlüssel, uniqe, autoincrement.

Gruss

EL


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 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