TSQLQuery Table not found
-
- Beiträge: 37
- Registriert: Mo 14. Feb 2011, 14:22
TSQLQuery Table not found
Hallöchen,
ich beginne grad ein Projekt mit FPC.
Zum Test habe ich eine Firebird Datenbank erstellt.
Als Komponenten habe ich IBConnection, TSQLQuery,TDAtasource und Transaction benutzt.
Der Connect scheint zu klappen denn es kommt keine Fehlermeldung.
Die FB Property bestätigt dass eine DB connected ist.
Wenn ich aber nun auf eine Tabelle zugreifen will
meldet sich ein Fehler Table not found.
In der DB sind mehrere Tabellen, ich habe auch mehrere probiert.
Immer dasselbe...
Warum findet er die Tabellen nicht?
Grüßle
ich beginne grad ein Projekt mit FPC.
Zum Test habe ich eine Firebird Datenbank erstellt.
Als Komponenten habe ich IBConnection, TSQLQuery,TDAtasource und Transaction benutzt.
Der Connect scheint zu klappen denn es kommt keine Fehlermeldung.
Die FB Property bestätigt dass eine DB connected ist.
Wenn ich aber nun auf eine Tabelle zugreifen will
meldet sich ein Fehler Table not found.
In der DB sind mehrere Tabellen, ich habe auch mehrere probiert.
Immer dasselbe...
Warum findet er die Tabellen nicht?
Grüßle
- corpsman
- Lazarusforum e. V.
- Beiträge: 1629
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: TSQLQuery Table not found
Guten Morgen,
Ich mach eigentlich nur mir SQLLite3 rum, aber das Prinzip müsste ja das selbe sein.
Evtl. Schaust du dir mal mein SQLLite3 Sample an. Auf dem Letzten Stuttgarter Lazarus Treffen dieskutierten wir auch über TDatasource wir befanden eigentlich, dass es Einfacher ist die Querys selbst zu schreiben und die Daten von Hand aus zu werten ( vor allem ist man dann Flexibler ).
Ich erzeuge z.B. so ganze Gui-Elemente und entsprechende Rekursive Hierarchieen. Die Code Basis die ich hierbei verwende sieht in etwa so aus :
Ich mach eigentlich nur mir SQLLite3 rum, aber das Prinzip müsste ja das selbe sein.
Evtl. Schaust du dir mal mein SQLLite3 Sample an. Auf dem Letzten Stuttgarter Lazarus Treffen dieskutierten wir auch über TDatasource wir befanden eigentlich, dass es Einfacher ist die Querys selbst zu schreiben und die Daten von Hand aus zu werten ( vor allem ist man dann Flexibler ).
Ich erzeuge z.B. so ganze Gui-Elemente und entsprechende Rekursive Hierarchieen. Die Code Basis die ich hierbei verwende sieht in etwa so aus :
Code: Alles auswählen
Procedure Query(Query: String; DB: TSQLQuery); // Stellt eine Query in der DB, danach kann die DB ausgelesen werden.
Begin
DB.Active := false;
db.SQL.Clear;
db.SQL.Text := Query;
db.Open; // Wenn eine AV. Kommt könnte man die Hier abfangen (z.B. wenn die Query ungültig ist)
End;
..
var f:TField;
s:String;
Begin
Query('select * from Tabelle;', sqlQuery1);
f := sqlquery1.fieldbyname('Feldname');
while not sqlquery1.eof do begin
s := f.AsString();
..
sqlquery1.next;
end;
end;
--
Just try it
Just try it
-
- Beiträge: 37
- Registriert: Mo 14. Feb 2011, 14:22
Re: TSQLQuery Table not found
Vielen Dank corpsman
das sieht interessant aus und ich erwäge
sowieso die query u.ä. dynamisch zu generieren.
Das löst aber die Problematik nicht die gerade besteht.
Denn kein Query findet die Tabelle nicht und ich
finde nicht heraus warum.
Denn gerade im Designer gesetzte Komponenten sollten doch funktionieren!
Oder benutze ich gar die falschen Komponenten?!
Grüße
das sieht interessant aus und ich erwäge
sowieso die query u.ä. dynamisch zu generieren.
Das löst aber die Problematik nicht die gerade besteht.
Denn kein Query findet die Tabelle nicht und ich
finde nicht heraus warum.
Denn gerade im Designer gesetzte Komponenten sollten doch funktionieren!
Oder benutze ich gar die falschen Komponenten?!
Grüße
- corpsman
- Lazarusforum e. V.
- Beiträge: 1629
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: TSQLQuery Table not found
Tja, dass übersteigt mein Wissen nun,
Ein Versuch wäre es wert, dass du hergehst und mein SQL Sample Lädst die "SQLite3Connection1" Komponente Rauswirfst und dafür deine Rein machst.
Nicht vergessen die "SQLite3Connection1" ist in SQLTransaction1.database hinterlegt.
Gruß
Corpsman
Ein Versuch wäre es wert, dass du hergehst und mein SQL Sample Lädst die "SQLite3Connection1" Komponente Rauswirfst und dafür deine Rein machst.
Nicht vergessen die "SQLite3Connection1" ist in SQLTransaction1.database hinterlegt.
Gruß
Corpsman
--
Just try it
Just try it
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Re: TSQLQuery Table not found
@Privateer:
Deine Tabellen liegen ja im DBMS nicht lose rum. Du musst erst mal deinen Tablespace, quasi die "Database" angeben. Wenn ich mich nicht ganz irre, hat die Connection ein Database-Property. Ich weiß es aber nun nicht auswendig, und habe gerade kein Lazarus am Rechner. Aber ich habe das so in Erinnerung, denn bei Oracle-Datenbanken muss mann eben noch die "Database" angeben.
Deine Tabellen liegen ja im DBMS nicht lose rum. Du musst erst mal deinen Tablespace, quasi die "Database" angeben. Wenn ich mich nicht ganz irre, hat die Connection ein Database-Property. Ich weiß es aber nun nicht auswendig, und habe gerade kein Lazarus am Rechner. Aber ich habe das so in Erinnerung, denn bei Oracle-Datenbanken muss mann eben noch die "Database" angeben.
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
-
- Beiträge: 37
- Registriert: Mo 14. Feb 2011, 14:22
Re: TSQLQuery Table not found
Hallöchen
egal was ich versuche. Es bleibt dabei: Table unknown.
Ich muss irgendwas anderes übersehen haben.
An der connection wird ja offensichtlich nicht rumgenölt. Die steht.
Aber in der angegebenen DB kann keine Tabelle gefunden werden.
egal was ich versuche. Es bleibt dabei: Table unknown.
Ich muss irgendwas anderes übersehen haben.
An der connection wird ja offensichtlich nicht rumgenölt. Die steht.
Aber in der angegebenen DB kann keine Tabelle gefunden werden.
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: TSQLQuery Table not found
Ich glaube Firebird ist etwas eigen in der Groß/Kleinschreibung ....
Versuch 1: Exakt die Groß/Kleinschreibung wie du die Tabelle angelegt hast verwenden.
Versuch 2: Alles in Großbuchstaben.
Versuch 3: Alles in Kleinbuchstaben.
Wenn du nicht herumprobieren willst, könnte die Doku weiterhelfen ... aber ich schätze, die drei Varianten zu probieren geht schneller
Im Hinterkopf habe ich noch: Ohne Quoting muss alles in CAPS geschrieben werden, mit Quoting halt in der "original" Groß/Kleinschreibung. Das ist aber eine Weile her ...
Versuch 1: Exakt die Groß/Kleinschreibung wie du die Tabelle angelegt hast verwenden.
Versuch 2: Alles in Großbuchstaben.
Versuch 3: Alles in Kleinbuchstaben.
Wenn du nicht herumprobieren willst, könnte die Doku weiterhelfen ... aber ich schätze, die drei Varianten zu probieren geht schneller

Im Hinterkopf habe ich noch: Ohne Quoting muss alles in CAPS geschrieben werden, mit Quoting halt in der "original" Groß/Kleinschreibung. Das ist aber eine Weile her ...
-
- Beiträge: 37
- Registriert: Mo 14. Feb 2011, 14:22
Re: TSQLQuery Table not found
In der Tat muss das irgendwie zusammenhängen.
Dazu muss ich sagen dass die DB per IBEasy von einer mdb importiert wurde.
D.h. das da etwas schief gegangen sein muss.
Ich habe testhalber mit dem SQL Fenster des IBEasy eine
Tabelle abfragen lassen, siehe da: mit dem gleichen Ergebnis. Tabelle unbekannt!
Jetzt muss ich mir was einfallen lassen, die zu konvertierende DB ist nicht gerade klein
bildet aber die Grundlage für das Projekt was ursprünglich in Delphi geschrieben wurde.
Eine Konvertierung Delphi->Lazarus ist nicht möglich da viele Fremdkomponenten
verwendet wurde (falls jetzt der Vorschlag kommt).
mille gracie
Grüße
Dazu muss ich sagen dass die DB per IBEasy von einer mdb importiert wurde.
D.h. das da etwas schief gegangen sein muss.
Ich habe testhalber mit dem SQL Fenster des IBEasy eine
Tabelle abfragen lassen, siehe da: mit dem gleichen Ergebnis. Tabelle unbekannt!
Jetzt muss ich mir was einfallen lassen, die zu konvertierende DB ist nicht gerade klein
bildet aber die Grundlage für das Projekt was ursprünglich in Delphi geschrieben wurde.
Eine Konvertierung Delphi->Lazarus ist nicht möglich da viele Fremdkomponenten
verwendet wurde (falls jetzt der Vorschlag kommt).
mille gracie
Grüße
Re: TSQLQuery Table not found
Ich arbeite z.Zt. nicht mit Firebird. weiß aber von früher, dass er es mit der Groß-/Kleinschreibung sehr genau nimmt und manchmal sehr "eigensinnig" ist und auch bei den selects einen eigenen "Dialekt" pflegt (der auch eingestellt werden muss). Und auch bei den Connects reicht die IP alleine nicht.
Außerdem nehme ich bei Lazarus ausschließlich die Zeos-Componenten statt SWL-DB
hde
Außerdem nehme ich bei Lazarus ausschließlich die Zeos-Componenten statt SWL-DB
hde
-
- Beiträge: 37
- Registriert: Mo 14. Feb 2011, 14:22
Re: TSQLQuery Table not found
Danke hde
ich habe alles von Hand in die FB gepflegt, e voila
es funktioniert.
Das ist echt seltsam.
Seltsamer ist jedoch dass es mir bis jetzt nicht gelungen ist
ZEOS in Lazarus zu installieren. Trotz aller Vorschläge im Web die ich finden konnte,
bleibt ZEOS für mich verschlossen.
Ich habs auf einem 32 und 64bit System probiert. Naja
Grüße
und Danke!
ich habe alles von Hand in die FB gepflegt, e voila
es funktioniert.
Das ist echt seltsam.
Seltsamer ist jedoch dass es mir bis jetzt nicht gelungen ist
ZEOS in Lazarus zu installieren. Trotz aller Vorschläge im Web die ich finden konnte,
bleibt ZEOS für mich verschlossen.
Ich habs auf einem 32 und 64bit System probiert. Naja
Grüße
und Danke!
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: TSQLQuery Table not found
Wenn du mal fragen formulieren könntest könnte dir vllt jemand helfen aber solang du nichtmal sagst was schiefgeht kann dir auch niemand helfen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: TSQLQuery Table not found
Das ist wirklich seltsam. Ich hab heute auf einem weiteren Win7-64 Zeos installiert und vor Tagen unter 32bit = keinerlei Probleme.Privateer3000 hat geschrieben:Seltsamer ist jedoch dass es mir bis jetzt nicht gelungen ist
ZEOS in Lazarus zu installieren. Trotz aller Vorschläge im Web die ich finden konnte,
bleibt ZEOS für mich verschlossen.
Ich habs auf einem 32 und 64bit System probiert. Naja
hde
-
- Beiträge: 37
- Registriert: Mo 14. Feb 2011, 14:22
Re: TSQLQuery Table not found
In der Tat
beim Compilieren erhalte ich die Meldungen:
Was ich bisher dazu gefunden habe, führte zu keinem Erfolg (Groß/Kleinschreibung etc.)
beim Compilieren erhalte ich die Meldungen:
Code: Alles auswählen
C:\Users\Admin\lazarus\components\ZEOSDBO-6.6.5-stable\src\core\ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found
C:\Users\Admin\lazarus\components\ZEOSDBO-6.6.5-stable\src\core\ZClasses.pas(183,14) Warning: An inherited method is hidden by "TZAbstractObject.Equals(const IUnknown):Boolean;"
C:\Users\Admin\lazarus\components\ZEOSDBO-6.6.5-stable\src\core\ZClasses.pas(186,14) Warning: An inherited method is hidden by "TZAbstractObject.ToString:AnsiString;"
C:\Users\Admin\lazarus\components\ZEOSDBO-6.6.5-stable\src\core\ZClasses.pas(190,1) Fatal: There were 1 errors compiling module, stopping
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: TSQLQuery Table not found
ZEOS 6.6.5?! Wo hast du denn das ausgegraben? Das ist 3,5 Jahre alt ...Privateer3000 hat geschrieben:In der Tat
beim Compilieren erhalte ich die Meldungen:Was ich bisher dazu gefunden habe, führte zu keinem Erfolg (Groß/Kleinschreibung etc.)Code: Alles auswählen
C:\Users\Admin\lazarus\components\ZEOSDBO-6.6.5-stable\src\core\ZClasses.pas(84,22) Error: No matching implementation for interface method "IUnknown.QueryInterface(constref TGuid,out <Formal type>):LongInt; StdCall;" found C:\Users\Admin\lazarus\components\ZEOSDBO-6.6.5-stable\src\core\ZClasses.pas(183,14) Warning: An inherited method is hidden by "TZAbstractObject.Equals(const IUnknown):Boolean;" C:\Users\Admin\lazarus\components\ZEOSDBO-6.6.5-stable\src\core\ZClasses.pas(186,14) Warning: An inherited method is hidden by "TZAbstractObject.ToString:AnsiString;" C:\Users\Admin\lazarus\components\ZEOSDBO-6.6.5-stable\src\core\ZClasses.pas(190,1) Fatal: There were 1 errors compiling module, stopping
Schau mal hier: http://www.lazarusforum.de/viewtopic.php?f=17&t=6324" onclick="window.open(this.href);return false;
-
- Beiträge: 37
- Registriert: Mo 14. Feb 2011, 14:22
Re: TSQLQuery Table not found
Ich habe 6.6.5. nur zusätzlich ausprobiert und noch im Verzeichnis liegen
un um die Fehlermeldung anzuzeigen hab ich halt das kompiliert.
Eigentlich wollte ich die 6.6.6. benutzen
7 ist ja noch im Beta.
un um die Fehlermeldung anzuzeigen hab ich halt das kompiliert.
Eigentlich wollte ich die 6.6.6. benutzen
7 ist ja noch im Beta.