![]() |
Datenbank: SQLite • Zugriff über: SQLite DB Delphi Wrapper
Überprüfen ob Spalte existiert
Hallo ihr,
ich benutze den ![]() Zuerst dachte ich ich mach es mithilfe eines SQL-Zugriffes, und wenn die SpaltenAnzahl nicht so groß ist, wie da Anzahl der geforderten, dann existiert diese Spalte nicht. Das Problem ist, aber das er intern nun bereits einen Fehler hervorruft, dass er nicht auf bestimmte Spalten zugreifen konnte :) Wie würdet ihr jetzt an das Problem gehen? Ich könnte natürlich den Fehler abfangen, aber ich wollte ja gerade das verhindern :P MfG xZise |
Re: Überprüfen ob Spalte existiert
Ich weiß ja nicht, ob das auch bei SQLite geht, aber es sollte so gehen:
SQL-Code:
Und dann einfach schauen, ob ein Ergebnis gefunden wurde, also die Anzahl > 0 ist.
SHOW COLUMNS FROM tabellenname WHERE Field=...
![]() |
Re: Überprüfen ob Spalte existiert
Naja das war ja sogut wie meine vorgehensweise (bis auf dem Umstand das du mit SHOW und ich mit SELECT gearbeitet habe). Und auf den Ersten Blick unterstützt SQLite kein SHOW.
MfG xZise |
Re: Überprüfen ob Spalte existiert
Zitat:
Aber wenn das bei SQLite ohnehin nicht geht, hat sich das ja erledigt. Mit der unten auf der verlinkten SELECT-Abfrage sollte es aber auch gehen, vielleicht geht das ja. Und wie hast du es denn jetzt gemacht, dass da ein Fehler kommt? |
Re: Überprüfen ob Spalte existiert
Also ich habe es im Moment einfach mit "SELECT <Gesuchte Spalte> FROM <Tabelle>" und da kam dann auch der Fehler.
MfG xZise |
Re: Überprüfen ob Spalte existiert
Ja, ok, das ist ja auch etwas vollkommen anderes als das was ich mache...
Ich frage ja nur die Spalteninformationen ab und versuche nicht den Inhalt der Spalte aus der Tabelle auszulesen. Dass bei diesem Zugriff bei dir ein Fehler kommt, ist ja klar. Du kannst es ja wie gesagt mit einem SELECT auf die Tabelleninformationen versuchen wie es auf der verlinkten Seite noch steht, wenn SQLite SHOW nicht unterstützt. |
Re: Überprüfen ob Spalte existiert
Hallo,
ich mache das so
SQL-Code:
Dann Open / Clsoe und per Schleife prüfen
Select * From Table1 Where Id=0
for i:= 0 to Fields.Count-1 Heiko |
Re: Überprüfen ob Spalte existiert
Statt die eine bestimmte Id abzufragen kann auch einfach die Anzahl der Ergebnisse mittels LIMIT auf 1 gesetzt werden, so dass der Inhalt für die Abfrage egal ist.
Problem evtl.: Es muss mindestens eine Zeile vorhanden sein, sonst wird das wohl nicht klappen, oder? |
Re: Überprüfen ob Spalte existiert
LIMIT ist MySQL-spezifisch, genauso wie SHOW FIELDS und dergleichen. Da muss halt mal die Dokumentation des DBMS bemüht werden, ob es etwas ähnliches gibt, oder eine universelle Abfrage wie die von Heiko auf die Tabelle losgelassen werden.
|
Re: Überprüfen ob Spalte existiert
Zitat:
Zitat:
Zitat:
MfG xZise |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 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 by Thomas Breitkreuz