Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL-Abfrage in Excel-Tabelle via ADO mit Parameter (https://www.delphipraxis.net/183210-sql-abfrage-excel-tabelle-via-ado-mit-parameter.html)

Sir Rufo 21. Dez 2014 22:41

AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
 
Zitat:

Zitat von humbuck (Beitrag 1284311)
Zitat:

Zitat von p80286 (Beitrag 1284253)
SQLExec? Ein
Delphi-Quellcode:
Query.Open
wäre hier wohl richtiger?

:?

Hmmm... Wohl kaum. Erst SQLExec und danach Open... Das ist die Reihenfolge.

Häh, seit wann denn das?

Open macht exaktemente das absolut gleiche wie ExecSQL mit einem Unterschied, bei Open wird auch eine Datenmenge erwartet, bei ExecSQL eben nicht.

Ein Blick in die Dokumentation ist da wohl fällig
Data.Win.ADODB.TADOQuery.ExecSQL und Data.Win.ADODB.TADOQuery.Open
Schönes Zitat aus der Doku
Zitat:

Anmerkung: Rufen Sie bei SELECT-Anweisungen anstelle von ExecSQL die Methode Open auf, oder setzen Sie die Eigenschaft Active auf true.
PS

Für SQL-Code gibt es auch Code-Tags [ CODE="SQL" ] sieht dann gleich viel hübscher aus
SQL-Code:
SELECT
  [Standbeschriftung.ID] AS ID,
  [Standbeschriftung.AdressSortierung] AS AdressSortierung,
  [Standbeschriftung.Halle] AS Halle,
  [Standbeschriftung.StandNr] AS StandNr,
  [Standbeschriftung.Blendentext] AS Blendentext,
  [Standbeschriftung.Firmensitz] AS Firmensitz,
  [Standbeschriftung.Standleistung] AS Standleistung,
  [Standbeschriftung.OAS] AS OAS
FROM
  [Standbeschriftung]
WHERE
  Standbeschriftung.Halle LIKE :Halle

humbuck 21. Dez 2014 23:37

AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
 
Zitat:

Zitat von Sir Rufo (Beitrag 1284327)
Anmerkung: Rufen Sie bei SELECT-Anweisungen anstelle von ExecSQL die Methode Open auf, oder setzen Sie die Eigenschaft Active auf true.

Du hast natürlich Recht. Hierarchisch gesehen gibt es jedoch die besagte Reihenfolge.
Ich benötige aber in meinem Fall keine Datenmenge vom Query. Für mich ist der Aufruf von ExecSQL zunächst nur zur Tabellenstrukturanalyse notwendig, bzw. um auch ggf. eine Exception auszulösen.

Erst im späteren Verlauf des Programms benötige ich eine Datenmenge.

Zitat:

Für SQL-Code gibt es auch Code-Tags [ CODE="SQL" ] sieht dann gleich viel hübscher aus
Das sieht sogar hervorragend aus!:-D

Mein Programm generiert das SQL-Script auf Anforderung. Das sieht dann nicht immer so schick aus, erfüllt aber seinen Zweck.
Von mir war es nur reine Faulheit, das ganze etwas schnuckeliger zu gestalten. Copy und Paste und Tschüß... Sorry:oops:

Perlsau 22. Dez 2014 00:48

AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
 
Zitat:

Zitat von Sir Rufo (Beitrag 1284327)
Zitat:

Zitat von humbuck (Beitrag 1284311)
Zitat:

Zitat von p80286 (Beitrag 1284253)
SQLExec? Ein
Delphi-Quellcode:
Query.Open
wäre hier wohl richtiger?

:?

Hmmm... Wohl kaum. Erst SQLExec und danach Open... Das ist die Reihenfolge.

Häh, seit wann denn das?

Du, der Mann hat 30 Jahre Erfahrung mit Datenbanken, ich würde seine Aussagen daher nicht anzweifeln :stupid:

Bernhard Geyer 22. Dez 2014 07:26

AW: SQL-Abfrage in Excel-Tabelle via ADO mit Parameter
 
Zitat:

Zitat von humbuck (Beitrag 1284330)
Du hast natürlich Recht. Hierarchisch gesehen gibt es jedoch die besagte Reihenfolge.
Ich benötige aber in meinem Fall keine Datenmenge vom Query. Für mich ist der Aufruf von ExecSQL zunächst nur zur Tabellenstrukturanalyse notwendig, bzw. um auch ggf. eine Exception auszulösen.

Komisches Vorgehen:gruebel: Zur Tabellenstrukturanalyse gibt es bessere Möglichkeiten welche dir auch gezeigt wurden. Ein "ich lass es auf eine Excpetion laufen" dürfte auch im Rahmen von Performance nicht die beste sein da solche Exceptions teilweise sehr aufwändig sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.
Seite 2 von 2     12   

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