Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > C++ > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 05.03.2018, 19:07   #1
Finn_TH
 
Регистрация: 05.03.2018
Сообщений: 3
Репутация: 10
По умолчанию Чтение из БД *.sqlite

Нужно прочесть из БД строку
Подключаюсь к БД, проверяю подключение, всё ок
Но выводится всё равно неверно
Что не так?

mainwindow.cpp
Код:

#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QSqlDatabase db;
    db=QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("Data1.sqlite");
    db.open();
    if(db.open())
    {
        qDebug() << "Connect";
    }
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_pushButton_clicked()
{
    float a5_fin;
    QString Username;
    QSqlQuery query;
    query.exec("SELECT Username, a5_fin, a5_0, a5_1 FROM a5control WHERE UserID=1");//WHERE Username = default
    while (query.next())
    {
    Username = query.value(0).toString();
    a5_fin = query.value(1).toFloat();
    }
    qDebug() << a5_fin;
    qDebug() << Username;
}

вывод для a5_fin 3.79361e-38, хотя в базе записано значение 75
вместо Username пустые кавычки (""), но там записано "default"

БД во вложении, создавал и редактировал через DB Drowser for SQLite
Вложения
Тип файла: 7z Data1.7z (511 байт, 0 просмотров)

Последний раз редактировалось Finn_TH; 05.03.2018 в 19:10.
Finn_TH вне форума   Ответить с цитированием
Старый 05.03.2018, 20:16   #2
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,582
Репутация: 1780
По умолчанию

Прочитайте про метод
Код:

QSqlQuery::prepare

waleri на форуме   Ответить с цитированием
Старый 07.03.2018, 17:39   #3
alexzk
Участник клуба
 
Регистрация: 12.04.2017
Сообщений: 889
Репутация: 172
По умолчанию

Все не правильно. Начнем с того, что сама база данных открывается как локальная переменная в конструкторе, и при его завершении, закрывается.
alexzk вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQLite ТипичныйСтудент Помощь студентам 5 13.05.2013 16:29
SQLIte areginalnaia БД в Delphi 2 13.01.2013 10:48
SQLite PinkPink Qt и кроссплатформенное программирование С/С++ 3 10.04.2012 00:19
Чтение, чтение и еще раз чтение Alex Cones Общие вопросы Delphi 3 07.06.2009 15:28
SQLite 3 XeN0N PHP 1 18.01.2009 21:30


14:33.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru