Удаление из базы данных Sqlite

329
16 марта 2017, 20:38

Хочу удалить данные одной строки в БД.Программа выдает следующую ошибку android.database.sqlite.SQLiteException: near "test1": syntax error (code 1): , while compiling: DELETE FROM items WHERE Name=test test1 test2 11 test3 and Qty=1

public class DataBaseHelper extends SQLiteOpenHelper {
    private static String DB_NAME = "Cart1.DB";
    private static final int DATABASE_VERSION=1;
    private SQLiteDatabase myDataBase;
    private final Context myContext;
    public DataBaseHelper(Context context) {
        super(context, DB_NAME, null, DATABASE_VERSION);
        this.myContext = context;
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        final String CREATE_ITEMS_TABLE =
                "CREATE TABLE " + DBDescription.Cart.TABLE_NAME + "(" +
                        DBDescription.Cart._ID + " integer primary key, " +
                        DBDescription.Cart.COLUMN_NAME + " TEXT, " +
                        DBDescription.Cart.COLUMN_QTY + " TEXT, " +
                        DBDescription.Cart.COLUMN_TOTAL + " TEXT, " +
                        DBDescription.Cart.COLUMN_IMG_PATH + " TEXT);";
        db.execSQL(CREATE_ITEMS_TABLE);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
}

Удаление:

public void deleteTitle(String name,int total)
    {
        DataBaseHelper myDbHelper = new DataBaseHelper(context);
        SQLiteDatabase db = myDbHelper.getWritableDatabase();
        db.delete(DBDescription.Cart.TABLE_NAME,DBDescription.Cart.COLUMN_NAME + "=" + name + " and " + DBDescription.Cart.COLUMN_QTY + "=" + 1, null);
        db.close();
        myDbHelper.close();
    }
Answer 1

пробуй

db.delete(DBDescription.Cart.TABLE_NAME,DBDescription.Cart.COLUMN_NAME + "=\"" + name + "\" and " + DBDescription.Cart.COLUMN_QTY + "=" + 1, null);

или

db.delete(DBDescription.Cart.TABLE_NAME,DBDescription.Cart.COLUMN_NAME + "= ? and " + DBDescription.Cart.COLUMN_QTY + "=" + 1, new String[]{name});
READ ALSO
Как использовать Hibernate Session в desktop приложении?

Как использовать Hibernate Session в desktop приложении?

До этого у меня был опыт работы с ORM (Hibernate и Doctrine) в веб-приложенияхТам все просто, в 99

291
Удаленный доступ Android - PC

Удаленный доступ Android - PC

Хочу написать приложение под Android для удаленного управления PC (Допустим включить плеер, переключить песню, сделать громче-тише и тд

282
Работа с VK API для сообществ, не имея сервера

Работа с VK API для сообществ, не имея сервера

Чтобы получать информацию об обновлениях в сообществе, нужно иметь сервер: Однако, у меня есть приложение, которое работает с LongPoll-сервером...

283
Исходный код в документации

Исходный код в документации

Можно ли в Javadoc указывать ссылку на исходный код классов и методов, чтобы не нужно было каждый раз искать по каталогам нужный файл? Если да, то как...

234