2014-01-15 6 views
0

Я хочу инициализировать одно значение столбца на базе данных Android Sqlite с другими значениями столбцов в той же базе данных. Однако, я использовал эту функцию, чтобы сделать это:Инициализировать значения одного столбца на базе данных Sqlite с другими значениями столбцов в одной и той же базе данных -Android

public void InitializeColumnValues(){ 
    String sql = "UPDATE \""+ DATABASE_TABLE + "\" SET \"" + Column2 +"\" = \"" + Column1 + "\""; 
    db.rawQuery(sql, null); 

} 

Но, к сожалению, она не работает со мной! Есть ли проблемы в его структуре? или возможно в базе данных Android Sqlite Мне нужно инициализировать каждое значение в столбце один за другим на основе значения id!

Есть ли способ сделать это с меньшим сроком времени?

Любая помощь будет оценена,
Спасибо ...

+0

Что значит «не работает»? –

+0

yes ,, Я имею в виду, что значения Column2 не инициализируются как значения Column1 .. обновление для функции значений столбца2 выше не выполняется! ... –

+0

вам нужно попытаться найти любую обратную связь от движка sqlite. вероятно, ошибка, предупреждение или информация о затронутых строках. проверьте лог-кошку, выловленные исключения, возвращаемые значения и т. д. ... всегда есть mesagge –

ответ

4

Ваша проблема может быть решена с помощью "db.execSQL (SQL)" вместо "db.rawQuery (SQL, NULL)", а также . нет необходимости использовать символ кавычки «"»в письменной форме требуемый запрос Таким образом, полная и проверенная функция не будет следующим:

public void InitializeColumnValues() { 
    String sql = "UPDATE "+ DATABASE_TABLE + " SET " + Column2 +" = " + Column1; 
    db.execSQL(sql); 
    db.close(); 
} 

Обратите внимание, что угождать основное различие между ExecSQL и rawQuery Апис :

public void execSQL (String sql)

Выполнить один оператор SQL, который не является SELECT, или любой другой оператор SQL, который возвращает данные.

public Cursor rawQuery (String sql, String[] selectionArgs)

Запускает при условии SQL и возвращает указатель на набор результатов.

Надеюсь, что ответ полезен и хорошо работает с вами.

+0

Сколько я могу вам поблагодарить ...! действительно не так много! уверенный в замечательном замечании, все идет хорошо со мной! ... вы просто знаете, кто является «создателем ошибок» ... Спасибо @Mahdi –

+0

Великий goo впереди :) –

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