![]() |
AW: SQLite iOS <> SQLite Android!
Zitat:
|
AW: SQLite iOS <> SQLite Android!
Hallo,
habe hier ein ähnliches Problem wie weiter oben beschrieben. Mit dem Code erstelle ich eine SQLite Datenbank:
Delphi-Quellcode:
Wie Ihr sehen könnt, frage ich am Ende des Blockes ab, ob die Datei erstellt wurde. Sie wird erstellt, zumindest wird mir das mit FileExists angezeigt. Warum aber sehe ich die Datei nicht mit einem Dateiexplorer wie z.B. Astro-File Manager oder gar mit aSQLiteManager?
DataPfad:= TPath.Combine(TPath.GetDocumentsPath, 'Test.db');
if not TFile.Exists(DataPfad) then Begin Try // Datenbank erstellen SQLConnection.connected:=False; SQLConnection.Params.Values['Database'] := DataPfad; Startup.SQLConnection.Params.Values['FailIfMissing'] := 'False'; Startup.SQLConnection.Connected:=True; except on E: EDatabaseError Do ShowMessage(E.Message); End; Try SQLBefehl:='CREATE TABLE Kontakte(EintragID INTEGER PRIMARY KEY AUTOINCREMENT, TelNummer VARCHAR(50) NOT NULL, KontaktName VARCHAR(100));'; DtaZeilen := SQLConnection.ExecuteDirect(SQLBefehl); except on E: Exception Do Showmessage(E.ClassName + ' / ' + E.Message); End; SQLConnection.Connected:=False; if not FileExists(DataPfad) then ShowMessage('Datenbank nicht erstellt'); end; Wäre toll wenn mir jemand einen Hinweis geben könnte was ich da falsch mache |
AW: SQLite iOS <> SQLite Android!
Zitat:
|
AW: SQLite iOS <> SQLite Android!
Stimmt, grad auch entdeckt. Wenn ich den Pfad mit GetSharedDocuments auslese dann funktionierts.
|
AW: SQLite iOS <> SQLite Android!
Nächstes Problem.
Ich schaffe es Daten in die SQLite Datenbank einzutragen. Nun funktioniert das Auslesen nicht
Delphi-Quellcode:
Verstehe nicht warum. Wenn ich die Datenbank mit der App "SQLite Magic" öffne, dann wird alles angezeigt was ich in die Tabelle "Kontakte" eingetragen habe. Aber der obige Quellcode liefert mir nicht einen Datensatz.
Try
FSQLCommandText := 'SELECT * FROM Kontakte;'; SQLConnection.Execute(FSQLCommandText, NIL, FSQLDataSet); FSQLDataSet.First; While NOT FSQLDataSet.EOF Do Begin sStr := ''; For i := 0 To FSQLDataSet.FieldCount - 1 Do sStr := sStr + ' ' + FSQLDataSet.Fields[i].AsString; ShowMessage(sStr); FSQLDataSet.Next; End; Except On E: EDatabaseError Do ShowMessage(E.Message); End; Habe die SQL-Abfrage mittlerweile gefühlte 100x neu geschrieben aber ohne Erfolg. Gibt es vielleicht in XE6 einen Bug? |
AW: SQLite iOS <> SQLite Android!
Solltest du nicht besser einen neuen Thread erstellen?
BTW: Dein
Delphi-Quellcode:
kannst du ersatzlos streichen und du bekommst mehr Informationen bei einer Exception (die auch sehr hilfreich wären, wenn du uns diese mitteilst).
try except
PS Manchmal macht es sich auch gut, wenn man einen Blick in die Dokumentation wirft. Meistens sieht man dann klarer. Ein guter Anfang wäre ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:22 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