Просмотр сообщений
|
Страниц: [1] 2 3 4
|
5
|
Разное / Объявления / [Закрыто][Киев] Вакансия прикладной программист C++/Qt, Javascript
|
: Сентябрь 06, 2013, 14:56
|
На постоянную работу в г. Киев требуется программист С++/Qt, Javascript Полный рабочий день в офисе. Поддержка/доработка текущего ПО + разработка по новым проектам. Требуемые навыки: C++, Qt, Javascript, QML. Системы управления версиями: GIT, SVN OS: основная - Linux. Планируется Windows CE, Android Базовые знания SQL Дополнительная информация: ЗП: 12+ т.грн. Утренняя/вечерняя развозка от/до станций метро Дарница, Черниговская. Резюме прошу высылать на axax@ukr.net письмом с темой [Киев] Вакансия прикладной программист C++/Qt, JavascriptПо анализу резюме будет предложено тестовое задание и собеседование в офисе.
|
|
|
10
|
Qt / Базы данных / Re: Неужели ни у кого не было проблем с регистронезависимым LIKE в sqlite??
|
: Январь 19, 2011, 13:59
|
В Sqlite есть возможность зарегистрировать свою SQL ф-цию через sqlite3_create_function. Как делал : В qsql_sqlite.cpp создал функции static void qUpper(sqlite3_context *context, int argc, sqlite3_value **argv) { QByteArray ba = QString::fromUtf8((const char *)sqlite3_value_text(argv[0])).toUpper().toUtf8(); sqlite3_result_text(context, ba.constData(), ba.size(), NULL); }
static void qLower(sqlite3_context *context, int argc, sqlite3_value **argv) { QByteArray ba = QString::fromUtf8((const char *)sqlite3_value_text(argv[0])).toLower().toUtf8(); sqlite3_result_text(context, ba.constData(), ba.size(), NULL); }
В том же файле зарегил эти ф-ции под именами qupper и qlower. bool QSQLiteDriver::open(const QString & db, const QString &, const QString &, const QString &, int, const QString &conOpts) { .........
if (sqlite3_open16(db.constData(), &d->access) == SQLITE_OK) { sqlite3_busy_timeout(d->access, qGetSqliteTimeout(conOpts)); setOpen(true); setOpenError(false);
sqlite3_create_function(d->access, "qupper", 1, SQLITE_UTF8, NULL, &qUpper, NULL, NULL); sqlite3_create_function(d->access, "qlower", 1, SQLITE_UTF8, NULL, &qLower, NULL, NULL);
return true; } else { .......
Теперь могу делать SQL запрос типа select * from names where qupper(firstname) like 'АЛЕКС%'
|
|
|
11
|
Qt / Пользовательский интерфейс (GUI) / Re: Создание окна в DLL
|
: Январь 14, 2011, 18:06
|
В похожей ситуации просто делал if (!qApp) { int argc = 0; new QApplication(argc, 0); }
Есть нюанс, что для некоторых классов необходима обработка сообщений - можно периодически вызывать QCoreApplication::processEvents или через запустить слот с вызовом qApp->exec()
|
|
|
12
|
Qt / Базы данных / Re: проблема с SQLite
|
: Август 10, 2010, 11:23
|
в .pro дописать
LIBS += -LC:\Qt\4.6.3.2008.static\plugins\sqldrivers # путь к либе LIBS += -lqsqlite # линкуем
в main.cpp
Q_IMPORT_PLUGIN(qsqlite)
|
|
|
14
|
Qt / Базы данных / Re: Транзакции Interbase
|
: Март 13, 2010, 15:27
|
Версия 0.17 Qt SQL driver for Firebird with IBPP library.http://code.google.com/p/qtfirebirdibppsqldriverИзменения в версии 0.17 + "make install" will copy driver to [QT_INSTALL_PLUGINS]/sqldrivers - fixed: character sets exception ( Issue 8 ) Conversions between Firebird and Qt "ASCII" = "IBM 866" "BIG_5" = "Big5" "CYRL" = "KOI8-R" "DOS850" = "IBM 850" "DOS866" = "IBM 866" "EUCJ_0208" = "JIS X 0208" "GB_2312" = "GB18030-0" "ISO8859_[1-9, 13]" = "ISO 8859-[1-9, 13]" "KSC_5601" = "Big5-HKSCS" "SJIS_0208" = "JIS X 0208" "UNICODE_FSS" = "UTF-32" "UTF8" = "UTF-8" "WIN125[0-8]" = "Windows-125[1-8]" else use QTextCodec::codecForLocale() по вопросу с query.prepare, query.bind: будет работать если prepare и цикл bind, exec обернуть транзакцией как в примере у TonalВынеси транзакцию за цикл: C++ (Qt) QSqlDatabase DBStoreWrite= QSqlDatabase::addDatabase("QFIREBIRD","DBStoreWrites"); DBStoreWrite.setConnectOptions("CHARSET=WIN1251"); DBStoreWrite.setDatabaseName("DBStore"); DBStoreWrite.open("SYSDBA","masterkey"); QSqlQuery SqlTest(DBStoreWrite); DBStoreWrite.transaction(); SqlTest.prepare("INSERT INTO Cans (CANNUM,DTTM,CANVALUE) VALUES (:CANNUM,'NOW',:CANVALUE)"); for (int i=0;i<2;i++) { SqlTest.bindValue(0,1); SqlTest.bindValue(1, i); SqlTest.exec(); } DBStoreWrite.commit(); DBStoreWrite.close();
Заодно и скорость чуть поднимется. Без транзакции каждый exec будет обернут в неявную транзакцию и комитится, очищая prepare Вопросы и пожелания сюда и на http://code.google.com/p/qtfirebirdibppsqldriver/issues/list
|
|
|
15
|
Qt / Базы данных / Re: Транзакции Interbase
|
: Март 12, 2010, 11:39
|
Единственный вариант - это внести препаре в цикл, но тогда это уже не препаре получается.
Всю голову сломал уже, пришел к выводу, что это какая то проблема в плагине. Может тут кто сталкивался с такой проблемой? если сталкивались, то как решали? Вопрос в драйвере. Зацепил эту штуку в одном из релизов. Проверил - в драйвере ок. Хочу сегодня поправить и разобраться с кодировками. Выложу исправление.
|
|
|
|
|