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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: установка драйвера mysql для QT на linux  (Прочитано 17647 раз)
kadr
Гость
« Ответ #15 : Октябрь 22, 2009, 14:00 »

Перенеси QSqlQuery q, что бы она определялась после открытия базы.
Точно, проглядел. Но "mydb" тоже убрать нужно.
Это я написал здесь малясь не правильно, так q определяется конечно же после открытия базы! Хорошо попробую без идентификатора соединения!   
Записан
kadr
Гость
« Ответ #16 : Октябрь 22, 2009, 19:08 »

Решил проблему с загрузкой драйвера, но почему то у меня никак не хотят данные добавляться в БД.

q.exec("INSERT INTO main (code, name, proizvod, ostatok, base_chena, predoplat_group) VALUES (number, name, proizvod, kol, chena, group)");
Записан
kadr
Гость
« Ответ #17 : Октябрь 22, 2009, 19:28 »

Вроде бы нашел в чем проблема! Когда я достаю цену из строки и записываю ее в переменную, он нормального размера, но после того как ее переношу в переменную типа double, то она становиться огроммной, куча лишних нулей, строка.toDouble():
строка = 490,97
переменная типа double = 490.97000000000003
Как сделать так что бы там было 2 знака после запятой!
« Последнее редактирование: Октябрь 22, 2009, 19:31 от kadr » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #18 : Октябрь 22, 2009, 19:33 »

А зачем переносишь? Кинь сюда код извлечения и загрузки.
Походу, с БД раньше не работал?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kadr
Гость
« Ответ #19 : Октябрь 22, 2009, 19:40 »

while (!file_r.atEnd())
     {
            str = file_r.readLine().trimmed();
            rab = str.mid(0,8).trimmed();
            number = rab.toInt();
            name = str.mid(10,40).trimmed();
            proizvod = str.mid(50,44).trimmed();
            rab.clear();
            rab = str.mid(96,7).trimmed();
            kol = rab.toInt();
            rab.clear();
            rab = str.mid(106,7).trimmed();
            j = 0;
            rab1.clear();
            while (j != rab.length())
                {
                    if ((rab.at(j) != 'p') && (rab.at(j) != '.'))
                    {
                        rab1.append(rab.at(j));
                    }
                    j++;
                }
            rab1.trimmed();
            chena = rab1.toDouble();
            rab2.clear();
            group = str.mid(126,35).trimmed();
 
            rab.clear();
            q.exec("INSERT INTO main (code, name, proizvod, ostatok, base_chena, predoplat_group)" "VALUES (number, name, proizvod, kol, chena, group)");
          
      
     }

    file_r.close();
    close();
    db.close();
}
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #20 : Октябрь 22, 2009, 19:44 »

Мдя.... Это на долго... Улыбающийся
Код
C++ (Qt)
q.prepare("INSERT INTO main (code, name, proizvod, ostatok, base_chena, predoplat_group)" "VALUES (:number, :name, :proizvod, :kol, :chena, :group)");
q.bindValue(":number", number);
........................
q.exec();
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
kadr
Гость
« Ответ #21 : Октябрь 22, 2009, 19:55 »

Мдя.... Это на долго... Улыбающийся
Код
C++ (Qt)
q.prepare("INSERT INTO main (code, name, proizvod, ostatok, base_chena, predoplat_group)" "VALUES (:number, :name, :proizvod, :kol, :chena, :group)");
q.bindValue(":number", number);
........................
q.exec();
Заработало, спасибки!  Веселый
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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