Удаление строки из базы данных SQLite: Blackberry
Я использую Table Adapter Screen для создания макета, который отображает данные из базы данных в табличной форме. Я добавил поле кнопки в каждую строку макета, чтобы удалить эту конкретную строку. Ниже я прилагаю код для удаления. Он показывает исключение: ошибка логики SQL или отсутствующая база данных. Что-то не так с моим Query??? Нет проблем в функциях создания баз данных, таблиц, вставки, извлечения и т. Д. Пожалуйста, помогите мне здесь. Выдает ошибку в.prepare(); заявление.
public void deletetarget(String cname) {
Statement deletetarget = null;
try
{
URI myURI = URI.create("file:///store/home/Databases/SampleDatabase.db");
d.close();
d = DatabaseFactory.open(myURI);
deletetarget = d.createStatement("DELETE FROM targetCity WHERE KEY_CITYNAME ='"+cname+"'");
deletetarget.prepare();
deletetarget.execute();
deletetarget.close();
d.close();
}
catch ( Exception e )
{
System.out.println("Delete Statement Exception "+e);
e.printStackTrace();
}
}
1 ответ
Закройте свою базу данных перед созданием URI.
Измените свой запрос напишите так...
deletetarget = d.createStatement("DELETE FROM targetCity WHERE KEY_CITYNAME = '"+cname+"'");