Russian Qt Forum
Ноябрь 23, 2024, 18:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Использование своей функции в qsqlite несколько раз в одном запросе  (Прочитано 1838 раз)
johnpion
Гость
« : Сентябрь 07, 2012, 21:03 »

Написал свою функцию. В драйвере добавил, что при открытии должна создаваться функция:
Код:
#include <QString>
#include <QObject>
#include <sqlite3.h>

static void moneyFunc(sqlite3_context *context, int argc, sqlite3_value **argv)
{
    int sum = sqlite3_value_int(argv[0]);
    int full = sum / 100;
    int dec = sum % 100;

    QString resultStr = QObject::tr("0,00");

    if (dec == 0){
        resultStr = QString(QObject::tr("%1,00")).arg(full);
    } else if (dec > 0 && dec < 10){
        resultStr = QString(QObject::tr("%1,0%2")).arg(full).arg(dec);
    } else if (dec >= 10 && dec <= 99){
        resultStr = QString(QObject::tr("%1,%2")).arg(full).arg(dec);
    }

    sqlite3_result_text(context, resultStr.toAscii().constData(), resultStr.size(), 0);
}

НО при запросе SELECT money(100), money(250) Выдает 3,50|3,50 а не 1,00|3,50 Грустный
« Последнее редактирование: Сентябрь 13, 2012, 12:45 от johnpion » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 20.