Я хочу вставить категорию приложения существующей таблицы данных приложения. Я не знаю, если я делаю это правильно, но в том, что я делаю, я тоже получаю эту ошибку.android sqlite insert in where
Как я должен делать это правильно?
Mainactivity
AlertDialog.Builder builder = new AlertDialog.Builder(
MainActivity.this);
builder.setTitle("Please Select Category of : " + AppName);
builder.setItems(shareItems,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
// TODO Auto-generated method stub
String itemz = String.valueOf(shareItems[item]);
mySQLiteAdapter.insertcategory(AppName, itemz);
}
});
AlertDialog shareAlert = builder.create();
shareAlert.show();
Handler
public long insertcategory(String AppName, String itemz) {
// TODO Auto-generated method stub
Cursor crack = sqlitedb.rawQuery("INSERT INTO " + KEY_CATEGORY
+ " VALUES (' " + itemz + " ') WHERE " + KEY_NAME
+ " LIKE ?", new String[] { "%" + AppName+ "%" });
return 0;
}
обновленный запрос Это то, что я использовал, чтобы обновить таблицу. itemz получает значение как «игра», но это не получает обновленный
public long insertcategory(String AppName, String itemz) {
// TODO Auto-generated method stub
ContentValues values = new ContentValues();
values.put(KEY_CATEGORY, itemz);
return sqlitedb.update(MYDATABASE_TABLE, values, KEY_NAME + " LIKE ?",
new String[] { "%" + AppName + "%" });
}
таблицу, созданные в
private static final String SCRIPT_CREATE_DATABASE = "create table "
+ MYDATABASE_TABLE + " (" + KEY_ID
+ " integer primary key autoincrement, " + KEY_NAME
+ " text not null, " + KEY_PACK + " text not null, " + KEY_PERM
+ " text not null, " + KEY_LEVEL + " text not null, "
+ KEY_CATEGORY + " text);";
Как вы можете видеть, в вашем SQL-запросе есть ошибка. В качестве первой помощи распечатайте сгенерированный SQL-запрос и выполните его непосредственно в SQLlite. хороший способ найти вашу ошибку в вашем реальном исходном коде. – reporter