AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wo im SQL Statement war der Fehler ?
Thema durchsuchen
Ansicht
Themen-Optionen

Wo im SQL Statement war der Fehler ?

Ein Thema von JoelH · begonnen am 21. Aug 2003 · letzter Beitrag vom 21. Aug 2003
Antwort Antwort
Seite 1 von 2  1 2      
JoelH
(Gast)

n/a Beiträge
 
#1

Wo im SQL Statement war der Fehler ?

  Alt 21. Aug 2003, 11:45
Wenn ich mit TQUERy ein Statement wegschicke und es gibt einen Fehler, dann kann ich zwar abfangen welcher Fehler das ist aber kann ich auch abfangen wo genau im Statement der Fehler auftrat ?

Beispiel :

Ich sende
Code:
SELECT ao.* FROM lala ao , duda du WHERE ao.id = du.id
Nehmen wir an eine Tabelle ist nicht existent, wie bekomme ich raus welche ?

Den Fehler Table or View does not exist (Oracle) bekomme ich erstellt, allerdings kann dies bedeuten dass lala nicht da ist oder eben duda .
Ich hätte gernen einen Zeiger (wunsch, wie bei üblichen SQL Tools) der dann sagt
Code:
SELECT ao.* FROM lala ao , <ERROR>duda du WHERE ao.id = du.id
so in dieser Art. Ist das zu realisieren mit Boardmitteln !?
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: Wo im SQL Statement war der Fehler ?

  Alt 21. Aug 2003, 12:27
hallo joelh. vielleicht kannst du hier dein problem lösen
www.entwickler-forum.de/

bin an einer lösungsvariante auch interessiert.

vieeleicht wäre es auch in deinem falle sinnvoll auf trigger oder stored procedure zurückzugreifen

raik
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#3

hmm,

  Alt 21. Aug 2003, 12:46
das ziel ist es ein eigenes SQL Tool, sprich ich kenne ja die eingaben nicht und auch nicht was rauskommt, ist alles recht dynamisch.

Naja und was sollten mir da Trigger oder Procedures nutzen ? Den Ansatz verstehe ich gerade nicht. Klar könnt ich in der ALL_TABLES/ALL VIEWS guggen welche Table nicht da ist aber das ist ja ein Megaaufwand.
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Wo im SQL Statement war der Fehler ?

  Alt 21. Aug 2003, 12:48
Hallo,

in Informix gibt es eine Tabelle Systables. In dieser sind alle Tabellen einer Datenbank eingetragen. Ein "select count(*) from systables where tabname=gesuchte Tabelle" ergibt 1 falls vorhanden und null wenn nicht.
Das gleiche Spielchen funktioniert auch mit den Feldern -> Syscolumns

Ich kann jetzt nichts zu Oracle sagen, aber auch da sollte es solche Systemtabellen geben.


MfG Hitzi
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#5

Re: Wo im SQL Statement war der Fehler ?

  Alt 21. Aug 2003, 12:51
das du daraus ein sql tool machen willst wußte ich nicht. doch denn wirst du nicht umhin können in die jeweilige db-api reinschauen zu müssen.

das dürfte eine menge aufwand sein.

raik
  Mit Zitat antworten Zitat
Alfons_G

Registriert seit: 7. Jun 2002
Ort: München
296 Beiträge
 
Delphi 2007 Architect
 
#6

Re: Wo im SQL Statement war der Fehler ?

  Alt 21. Aug 2003, 12:52
In Oracle kann man die Tabellen, welche dem angemeldeten Benutzer gehören, aus der Systemtabelle USER_TABLES lesen. Der Katalog aller Elemente, welche einem Benutzer gehören, findest Du mit
Code:
select * from USER_CATALOG
Alfons Grünewald



Alfons Grünewald
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#7

hmm,

  Alt 21. Aug 2003, 13:20
die ganzen Systabellen kenne ich ! Das ist nicht mein Problem. Wie gesagt, wenn ich wollte dann könnte ich es natürlich so realisieren, will ich aber nicht, noch nicht. Denn es könnte ja sein dass es auch mit Boardmitteln schon geht. Ansonsten muss ich nur (ironie !!) den String selbst parsen, alles auseinander pfrimeln und dann für jedes SQLStatement Element eine Abfrage senden ob es auch wirklich vorhanden ist. Das ist jede Menge Aufwand. Darum meine Frage ob es auch einfacher geht

@kiar
war auch nicht bös gemeint.
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Wo im SQL Statement war der Fehler ?

  Alt 21. Aug 2003, 13:25
Hallo,

ich glaub nicht, dass das mit Boardmitteln geht. Es sei den du bekommst von deiner Datenbank eine detailierte Fehlerbeschreibung zurück. Unter Informix ist dies definitiv nicht mit Boardmitteln möglich - sprich man muss den Text selber parsen.

MfG Hitzi
Thomas
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#9

hmm,

  Alt 21. Aug 2003, 13:43
schad. Dann geh ich mal an das HappyStatement parsen. DAraus könnte mn fast schon ein eigenes Projekt machen. Wie parse ich einen SQL String mit seinen ganzen Möglichkeiten richtig
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Wo im SQL Statement war der Fehler ?

  Alt 21. Aug 2003, 13:51
Vor allem wenn man mehrere unterschiedliche Datenbanken unterstützen möchte. Schon allein zwischen Oracle und Informix gibt es jede Menge Unterschiede im SQL Syntax. Oder man beschränkt sich auf die Basics.

Wie dem auch sei ... viel Spaß bei deinem Projekt.

MfG Hitzi
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:09 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