Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [SQL]Alle Spalten bis auf eine auswählen (https://www.delphipraxis.net/83562-%5Bsql%5Dalle-spalten-bis-auf-eine-auswaehlen.html)

SilverMoonGirl 4. Jan 2007 15:03

Datenbank: Paradox • Version: 9 • Zugriff über: Query

[SQL]Alle Spalten bis auf eine auswählen
 
Ich möchte aus einer Tabelle mit einer großen Anzahl von Spalten, alle bis auf eine einzige auswählen.
Gibt es da eine Möglichkeit, nicht alle Spaltennamen hinschreiben zu müssen?

shmia 4. Jan 2007 15:15

Re: [SQL]Alle Spalten bis auf eine auswählen
 
Dies wurde in SQL nie vorgesehen.
Also gibt es diese oder ähnliche Syntax nicht:
SQL-Code:
SELECT * EXCLUDING (blobfeld1, blobfeld2) FROM

SilverMoonGirl 4. Jan 2007 15:19

Re: [SQL]Alle Spalten bis auf eine auswählen
 
Zu Schade :( , trotzdem danke

:kiss:

MacNuke 4. Jan 2007 15:20

Re: [SQL]Alle Spalten bis auf eine auswählen
 
Kann man nicht alle Spaltennamen in ein Array lesen und dann den SQL-Befehl entsprechend zusammenbauen?

RavenIV 4. Jan 2007 15:23

Re: [SQL]Alle Spalten bis auf eine auswählen
 
Das einzige, was mir dazu einfällt:
Delphi-Quellcode:
var
  Spaltennamen : String;
begin
  ...
  ...
  Spaltennamen := GetAllColumnNames (MyTable); { => 'Spalte1, Spalte2, ..., Spaltex' }
  Spaltennamen := UngewollteSpalteLoeschen (UngewolltenSpaltennamen);
  ...
  QuMyQuery.Sql.Add ('SELECT ' + Spaltennamen + 'FROM ' + MyTable);
  ...
  ...
end;

SilverMoonGirl 5. Jan 2007 08:52

Re: [SQL]Alle Spalten bis auf eine auswählen
 
@Raven

vielen Dank, so funktioiert es

:kiss:

RavenIV 5. Jan 2007 08:54

Re: [SQL]Alle Spalten bis auf eine auswählen
 
Lässt Du uns auch wissen, wie Du es im Detail gelöst hast?
Vielleicht kannst Du das Projekt (oder den relevanten Teil davon) als Attachement anhängen.

SilverMoonGirl 5. Jan 2007 09:30

Re: [SQL]Alle Spalten bis auf eine auswählen
 
Achso ja, na klar

Delphi-Quellcode:
Var Spalten: String;
begin
  Query.GetFieldNames(ListBox3.Items);
 
  For i:= 0 to ListBox3.Count -2  do
  begin
    if i = ListBox3.Count -2 then
      Spalten:= Spalten + ListBox3.Items[i]
    else
      Spalten:= Spalten + Listbox3.Items[i] + ', ';
  end;
end;

...
SQL.Add('SELECT '+ Spalten + ' FROM tabelle');
...


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