Error with SQLite in Android -


06-19 12:36:06.181: e/inside log(15543): /sdcard/songs/(04) fall out boy - sugar, we're goin' down [2005].mp3 06-19 12:36:06.286: e/imediametadataretriever(15543): extractmetadata error 06-19 12:36:06.391: e/sqlitelog(15543): (1) near "re": syntax error 06-19 12:36:06.421: e/androidruntime(15543): fatal exception: main 06-19 12:36:06.421: e/androidruntime(15543): android.database.sqlite.sqliteexception: near "re": syntax error (code 1): , while compiling: insert songdatabase(name,artist,genre,composer,albumname,year,path) values('sugar, we're goin' down','fall out boy','punk','null','from under cork tree','2005','/sdcard/songs/(04) fall out boy - sugar, we're goin' down [2005].mp3') 

code:

if(name!=null) {     if(name.contains("'"))     {         name.replaceall("'", "\'");     } } if(genre!=null) {     if(genre.contains("'"))     {         genre.replaceall("'", "\'");     } } if(composer!=null) {     if(composer.contains("'"))     {         composer.replaceall("'", "\'");     } } if(albumname!=null) {     sqlitedatabase database=getwritabledatabase();     database.execsql("insert songdatabase(name,artist,genre,composer,albumname,year,path) values('"+name+"','"+artist+"','"+genre+"','"+composer+"','"+albumname+"','"+yea‌​r+"','"+pathfile+"')"); } 

you need double ('') apostrophes (') in strings.
otherwise, treated string delimiters, breaking string values.

a better solution, though, pass bound parameters (using ? placeholders, filled values stored in string array pass).
way, string conversion handles automatically, , don't have double quotes.


ok, analyzing code, problem pops out clearly:
don't perform quote replacement on artist, album name , on file path.
on name, genre , composer.

in case, path giving error.

it's clear error message:

/sdcard/songs/(04) fall out boy - sugar, we're goin' down [2005].mp3 

Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -