2010-11-17 6 views
1

Я пытаюсь вставить текст в базу данных SQLite, но по какой-то причине он не работает. Он никогда не выполняет ..Невозможно вставить текст в базу данных SQLite

код ниже (это моя функция, что я звоню):

public void setInfo(final String tableName, final int id, final String title, final String time, final String content) { 

    final String sql = "INSERT INTO " + tableName + "("+DB_COLUMN_ID+", "+DB_COLUMN_TITLE+", "+DB_COLUMN_TIME+","+DB_COLUMN_CONTENT+")" + 
    " VALUES ('"+id+"', '"+title+"', '"+time+"','"+content+""; 
    final SQLiteStatement stmt = mDatabase.compileStatement(sql); 
    stmt.execute(); 

} 

Заранее спасибо!

+0

Я пропустил бы отладчик и проверил бы, чтобы у вас была база данных для записи. Также проверьте журнал Cat и найдите ошибки. – Kaili

+0

@ Shadow: Сделано все это, я также проверил, что мои открытия в базе данных. – Curtain

+0

Вы говорите, что это не выполняется ... Вы пробовали executeInsert() и получили длинное значение, возвращаемое, чтобы увидеть, что-нибудь происходит? – spanky

ответ

2

Похоже, что вам не хватает окончательной одиночной кавычки и закрывающей круглой скобки в инструкции sql. Также id является типом int, поэтому ему вообще не нужны кавычки. Я предполагаю, что это должно быть написано:

final String sql = "INSERT INTO " + tableName + "("+DB_COLUMN_ID+", "+DB_COLUMN_TITLE+", "+DB_COLUMN_TIME+","+DB_COLUMN_CONTENT+")" + 
    " VALUES ("+id+", '"+title+"', '"+time+"','"+content+"')"; 
+0

Черт возьми, эта большая проблема, это маленькое решение! Спасибо! – Curtain

+0

Без проблем, случается со всеми! – theChrisKent

Смежные вопросы