Я использую QT Framework.По сути, я создаю приложение для устройств ARM.
Теперь я создал пример приложения, использующего SQLite для работы с БД.Дело в том, что один работает на моем рабочем столе, но когда я кросс-скомпилировал его для устройства и попытался выполнить его на своем устройстве. Ошибка при получении.
Итак, я записал несколько сообщений об ошибках.Наконец я обнаружил, что файл БД был успешно создан, но не удалось создать таблицу на устройстве.
Это из-за нехватки памяти?
Код:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("songs.db");
if (!db.open()) {
QMessageBox::critical(0, qApp->tr("Cannot open database"),
qApp->tr("Unable to establish a database connection.\n"
"This example needs SQLite support. Please read "
"the Qt SQL driver documentation for information how "
"to build it.\n\n"
"Click Cancel to exit."), QMessageBox::Cancel);
//return false;
debugLog("#fileListThread::run()-> Unable to establish a database connection.."<<db.lastError(););
}
else
{
debugLog("#fileListThread::run()-> opened songs.db successfully..");
}
QSqlQuery query;
bool queryStatus = query.exec("create table songsList (id int primary key, "
"Song varchar(20), Artist varchar(20),Producer varchar(20))");
if(queryStatus)
{
debugLog("#fileListThread::run()-> created table in songs DB successfully..");
}
else
{
debugLog("#fileListThread::run()-> failed to create table in songs DB.."<<query.lastError(););
}
Хорошо!Еще один быстрый вопрос-> Возможно ли создать файл БД и выполнять запросы внутри встроенных устройств.В моем устройстве свободная память составляет 9 МБ.
Спасибо, Вишну