![]() |
SQLite: sql_master abfragen
Hi liebe community,
ich habe momentan ein kleines problem. Untzwa frage ich mit SQLite die tabelle sqlite_master ab um die vorhandenen tabellen zu erhalten.
Code:
Hier tritt der fehler auf
function GetDB(dbC: TSQLite3Connection;dbQ: TSQLQuery;dbT: TSQLTransaction): TStringList;
var slist, tname: TStringList; n: Integer; begin slist:= TStringList.Create; tname:= TStringList.Create; dbQ.SQL.Text:='SELECT name FROM sqlite_master WHERE type = ''table'''; dbQ.Open; dbQ.First; while dbQ.EOF = false do begin if not (dbQ.FieldByName('name').AsString = 'sqlite_sequence') then tname.Add(dbQ.FieldByName('name').AsString); dbQ.Next; end; dbQ.Close; For n := 0 to tname.Count-1 do begin dbQ.SQL.Text:='SELECT * FROM ''' + tname[n] + '''';
Code:
Hier sollten nun in die Stringlist die namen der tabellen eingetragen worden sein ..
dbQ.ExecSQL;
dbQ.Open; dbQ.First; while dbQ.EOF = false do begin if dbQ.FieldByName('chg').AsString = '1' then slist.Add(GetDBset(tname[n],dbQ.FieldByName('id').AsString,dbC,dbQ,dbT)); if dbQ.FieldByName('chg').AsString = '2' then slist.Add(GetDBset(tname[n],dbQ.FieldByName('id').AsString,dbC,dbQ,dbT)); dbQ.Next; end; end; end; also so: user artikel company customers customers_adr customers_tel rechnung rechnung_artikel machines ich weiß nicht ob es hilft aber hier nochmal der aufbau der sqlite_master tabelle welche ich abrufe (diese wird automatisch mit der datenbank erstellt!)
Hierbei wird mir allerdings sobald ich die Funktion aufrufe (kommpiliren funktionirt problemlos) der fehler ausgegeben: DatabaseERROR "no such table 'Benutzername'" dies stehl allerdings nicht in der tabelle noch frage ich die datenbank nach betutzername, ich will doch die spalte name haben) und die einzigste stelle die mir einfällt wo benutzername vorkommt ist im login fenster, bzw. jetzt zum testn als username (global als guser hinterlegt!) Ich hoffe jemand weiß was los ist ich stecke jetzt sein 2 tagen fest und kriege es nicht raus... Schonmal danke im vorraus an alle die helfen können! |
AW: SQLite: sql_master abfragen
[QUOTE=Kratons;1279403]Hier tritt der fehler auf
Welcher denn??
Code:
Du solltest nur
dbQ.ExecSQL;
dbQ.Open; dbQ.First;
Code:
verwenden, dbQ.ExecSql wird von den meisten Schnittstellen für Update und Insert Anweisungen verwendet.
dbq.Open
Gruß K-H |
AW: SQLite: sql_master abfragen
Der Aufruf von
Delphi-Quellcode:
ist zwar überflüssig ist aber nicht der Grund für den Fehler.
dbQ.ExecSQL;
Es wäre interessant zu wissen, was tatsächlich in
Delphi-Quellcode:
enthalten ist und nicht, was dort drin stehen sollte!
tname
Debugger oder einfache Ausgabe als Text und dann anschauen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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-2025 by Thomas Breitkreuz