Android Schreiben von JsonDaten in eine SqliteDB

MARJAVA

Aktives Mitglied
Hallo zusammen,

Beim Schreiben der JSon-Daten in eine SQLIteDB erhalte ich momentan die Fehlermeldung:

Java:
2019-01-12 16:01:14.003 2744-2744/de.markusc.movieplanet E/AndroidRuntime: FATAL EXCEPTION: main
    Process: de.markusc.movieplanet, PID: 2744
    android.database.sqlite.SQLiteException: near "s": syntax error (code 1): , while compiling: INSERT INTO filme(id,type,title,releasedate,genre,overview,voteaverage,budget,runtime,character,name,profilepath,posterpath) VALUES ('390634','0','劇場版「Fate/stay night [Heaven's Feel] ⅠⅠ. lost butterfly」','2019-01-12','Animation, Action, Fantasy, ','Theatrical-release adaptation of the visual novel Fate/stay night, following the third and final route. (Part 2 of a trilogy.)','6',0,120,'arrayListChara','arrayListActor','arrayListBilder','https://image.tmdb.org/t/p/w500/t0jwlwFUrtkPJoq5JH9YrRVROXZ.jpg')
        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
        at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
        at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
        at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
        at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1677)
        at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1608)
        at de.markusc.movieplanet.DownloadTaskDatenFilm.onPostExecute(DownloadTaskDatenFilm.java:149)
        at de.markusc.movieplanet.DownloadTaskDatenFilm.onPostExecute(DownloadTaskDatenFilm.java:22)
        at android.os.AsyncTask.finish(AsyncTask.java:695)
        at android.os.AsyncTask.-wrap1(Unknown Source:0)
        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:712)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6541)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

Diese zeigt mir, dass meine SqliteDB nicht mit den Inhalten klarkommt die aus den JSondaten stammen. Habt ihr ne Idee, wie ich die Daten konvertieren kann um sie besser in die DB zu integrieren.
Bisher ersetze ich alle ' und " durch Lehrzeichen, doch das fängt nicht alle Fehler ab. Sollte ich die Strings als Blob abspeichern? Was meint ihr?
 

httpdigest

Top Contributor
Anscheinend ersetzt du nicht alle ' Zeichen:
INSERT INTO filme(id,type,title,releasedate,genre,overview,voteaverage,budget,runtime,character,name,profilepath,posterpath) VALUES ('390634','0','劇場版「Fate/stay night [Heaven's Feel] ⅠⅠ. lost butterfly」','2019-01-12','Animation, Action, Fantasy, ','Theatrical-release adaptation of the visual novel Fate/stay night, following the third and final route. (Part 2 of a trilogy.)','6',0,120,'arrayListChara','arrayListActor','arrayListBilder','https://image.tmdb.org/t/p/w500/t0jwlwFUrtkPJoq5JH9YrRVROXZ.jpg')

Wenn du einfach ein JDBC PreparedStatement mit Parametern verwendest, wird das Problem automatisch durch JDBC gelöst, ohne, dass du irgendetwas ersetzen musst. Ich vermute mal, dass du aktuell das SQL-Statement mit den Argumenten per String-Konkatenation irgendwie manuell zusammenbaust.
 

MARJAVA

Aktives Mitglied
Weil ich mir auch nicht sicher bin, ob es die richtige Methode ist, die Daten so in die DB zu schreiben. Beim Lesen der Daten habe ich ja auch wieder den Aufwand. Ist es vielleicht sinnvoller die Daten als Paket einzutragen? Und wie macht man das am besten?
 

mrBrown

Super-Moderator
Mitarbeiter
Kommt drauf an, was deine "JsonDaten" überhaupt sind. In deinem Beispiel scheinen das einfach nur Strings und keine Objekte zu sein, also speichere die doch einfach als String?
 

MARJAVA

Aktives Mitglied
Das sind Strings, die jedoch sich durch enthaltene Zeichen nicht einfach als String übergeben lassen, sondern eben erst bearbeitet werden müssen, damit die sql-codes unempfindlich reagieren.
Eine Alternative wäre halt schön, etwas bei dem die SQL-Befehle unempfindlich reagieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Lesen / Schreiben einer Textdatei - SD-Karte Android & Cross-Platform Mobile Apps 42
A Mit Java neues item in ein string-array einer Strings.xml schreiben Android & Cross-Platform Mobile Apps 4
Flynn Text-File auf externe Speicherkarte schreiben Android & Cross-Platform Mobile Apps 1
G Realm (jede Sekunde schreiben) Android & Cross-Platform Mobile Apps 1
G In eier File schreiben Android & Cross-Platform Mobile Apps 8
A Android Datei erstellen/schreiben/auslesen Android & Cross-Platform Mobile Apps 1
D Lib für (Desktop-)Java und Android schreiben Android & Cross-Platform Mobile Apps 7
A Kann nicht in TextView einer anderen Klasse schreiben - wieso? Android & Cross-Platform Mobile Apps 9
A Android Kann nicht mehr auf SDCard schreiben Android & Cross-Platform Mobile Apps 8
T Android Ergebnis eines XML+XSLT "transform" in eine HTML - Datei schreiben (Android) Android & Cross-Platform Mobile Apps 2
V [Java] und [JavaME] ClientServer StreamConnection . Problem beim lesen / schreiben Android & Cross-Platform Mobile Apps 2
M Text in txt-Datei schreiben und nach ABC sortieren? Android & Cross-Platform Mobile Apps 2
B Daten in *.txt schreiben Android & Cross-Platform Mobile Apps 7
R Lesen und schreiben von Daten. Android & Cross-Platform Mobile Apps 2
L SecurityException beim lesen/schreiben eine Datei Android & Cross-Platform Mobile Apps 7
B Textdatei auf Handy erstellen / lesen / schreiben? Android & Cross-Platform Mobile Apps 2
L Android Wie erstelle ich eine dynamische Tabelle (TableLayout)? Android & Cross-Platform Mobile Apps 2
W Zur Laufzeit erstelltes MenuItem an eine View binden Android & Cross-Platform Mobile Apps 1
J Android Zugriff auf eine Datei, diese von einer anderen App erstellt wurde? Android & Cross-Platform Mobile Apps 11
W Pixel Farbe in eine andere Farbe ändern im ImageView von ein Icon Android & Cross-Platform Mobile Apps 14
S Sinnvollste weg eine SQLite DB mit Android auslesen Android & Cross-Platform Mobile Apps 7
L Regelmäßig eine Methode im Hintergund ausführen Android & Cross-Platform Mobile Apps 1
J Android Wann ist eine App privat? Android & Cross-Platform Mobile Apps 10
M Suche eine Webseite mit dem aktuelle Datum in XML Android & Cross-Platform Mobile Apps 18
R Android Eine Website-frame in einer App Android & Cross-Platform Mobile Apps 4
Robat Android Wie mache ich eine App mit verschiedenen Leveln? Android & Cross-Platform Mobile Apps 8
M [Android] Wie erstellt man eine Verknüpfung eines Ordners? Android & Cross-Platform Mobile Apps 7
R [ANDROID] Dynamisch eine Liste erweitern Android & Cross-Platform Mobile Apps 3
K Verständisfrage bzgl. Buttons und ihnen eine Funktion geben. Android & Cross-Platform Mobile Apps 3
X Android Wo gibts eine SortableListView? Android & Cross-Platform Mobile Apps 6
G eine Methode einer anderen Activity aufrufen Android & Cross-Platform Mobile Apps 9
S Android In Service überprüfen ob eine Activity gebunden ist? Android & Cross-Platform Mobile Apps 6
B TableLayout verhält sich nicht wie eine Tabelle Android & Cross-Platform Mobile Apps 3
L Android Eine Kleinigkeit für Profis Android & Cross-Platform Mobile Apps 2
A Android Eine Datei in Android löschen, aber wie ? Android & Cross-Platform Mobile Apps 24
A Koordinaten eine Images feststellen Android & Cross-Platform Mobile Apps 9
U [Android] Eine Datei aus Jar-Archiv laden Android & Cross-Platform Mobile Apps 4
N Gibt es eine opensource Speech-to-Text engine? Android & Cross-Platform Mobile Apps 3
B Android Eine Warnung in der Console (Eclipse) auswerten Android & Cross-Platform Mobile Apps 3
M Eclipse: cdc.jar in eine Midlet Suite integrieren Android & Cross-Platform Mobile Apps 18
H Gibt es eine Alternative zur Location API? Android & Cross-Platform Mobile Apps 4
F Wie komplex wäre eine Wecker-Applikation? Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen

Neue Themen


Oben