[英]Android, SQLite unrecognized token
I get an unrecognized token exception when I try to delete from my database. 尝试从数据库中删除时,出现无法识别的令牌异常。
I have tried to include my strings in ''
instead of ""
, I have tried storing the values in dedicated string variables and nothing. 我试图将字符串包括在''
而不是""
,我试图将值存储在专用的字符串变量中,什么也没有。
I just don't know what to do, here is the code as it is currently: 我只是不知道该怎么办,这是当前的代码:
public void deleteCrime(Crime crime) {
ContentValues values = getContentValues(crime);
mDatabase.delete(CrimeTable.NAME,
values.getAsString(CrimeTable.Cols.UUID) + "= ?",
new String[]{crime.getId().toString()});
}
I have tried it this way too: 我也尝试过这种方式:
public void deleteCrime(Crime crime) {
ContentValues values = getContentValues(crime);
mDatabase.delete(CrimeTable.NAME,
values.getAsString(CrimeTable.Cols.UUID) + "= " + crime.getId().toString(),
null);
}
And this: 和这个:
public void deleteCrime(Crime crime) {
ContentValues values = getContentValues(crime);
String databaseId = values.getAsString(CrimeTable.Cols.UUID);
String crimeId = crime.getId().toString();
mDatabase.delete(CrimeTable.NAME,
databaseId + "= ?",
new String[]{crimeId});
}
And: 和:
public void deleteCrime(Crime crime) {
ContentValues values = getContentValues(crime);
String databaseId = values.getAsString(CrimeTable.Cols.UUID);
String crimeId = crime.getId().toString();
mDatabase.delete(CrimeTable.NAME,
databaseId + "= " + crimeId,
null);
}
And all the combinations and permutations of applying ''
and " "
to the strings... 以及将''
和" "
应用于字符串的所有组合和排列...
Even if I don't parse them into strings and use ''
or ""
on them, I always get the same error (from the first 4 codes in this post): 即使我不将它们解析为字符串并在它们上使用''
或""
,也总是会遇到相同的错误(来自本文的前4个代码):
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ricardo.criminalintent, PID: 27841
android.database.sqlite.SQLiteException: unrecognized token: "46cf" (code 1): , while compiling: DELETE FROM crimes WHERE fe950f06-dd38-46cf-898e-f4a7f7f27dab = fe950f06-dd38-46cf-898e-f4a7f7f27dab
And if I try another row in my database: 如果我在数据库中尝试另一行:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ricardo.criminalintent, PID: 28258
android.database.sqlite.SQLiteException: no such column: b09902bc (code 1): , while compiling: DELETE FROM crimes WHERE b09902bc-0829-4989-8395-ed24dc397a85 = b09902bc-0829-4989-8395-ed24dc397a85
And... 和...
public void deleteCrime(Crime crime) {
mDatabase.delete(CrimeTable.NAME,
CrimeTable.Cols.UUID + "=? ",
new String[]{crime.getId().toString()});
}
Or (from the last code in this post, the one with the And...): 或者(从这篇文章的最后一个代码中,带有And ...的代码):
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ricardo.criminalintent, PID: 3418
android.database.sqlite.SQLiteException: unrecognized token: "46cf" (code 1): , while compiling: DELETE FROM crimes WHERE uuid= fe950f06-dd38-46cf-898e-f4a7f7f27dab
I don't know what else to do... I'm desperate, please help me! 我不知道该怎么办...我很拼命,请帮助我!
Try this code, instead: 尝试以下代码,而不是:
public void deleteCrime(Crime crime)
{
mDatabase.execSQL("DELETE FROM crimes WHERE uuid = ?", new String([] {crime.getId()}));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.