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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Передача переменной из одной функции в другую  (Прочитано 2656 раз)
karpenko1989
Гость
« : Февраль 06, 2012, 07:58 »

Здравствуйте, понимаю, что вопрос немного не по теме форума, но буду очень признателен, тем, кто мне поможет.

Имеется публичная функция не принадлежащая ни одному из классов.

Код:
QSqlDatabase& CreateConnection();

Код:
#include "dbConnect.h"

QSqlDatabase& CreateConnection() {
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    QSqlDatabase &db1 = db;
    db1.setDatabaseName("emp_smad_1");
    db1.setUserName("root");



    if (!db1.open()) {
        QMessageBox::critical(0, QObject::tr("Database Error"),
                              db1.lastError().text());

    }

    return db1;

}

И паблик слот void realTimePoints(QSqlDatabase &db1) определенный в классе TrendTop.

Необходимо взять переменную db1 из CreateConnection() и вдальнейшем использовать её в realTimePoints(&db1).

Пишу так:
Код:
void TrendTop::realTimePoints(&db1) {

    if (db1.isOpen()) {
        QSqlQuery query(db1);
        query.exec("SELECT tm, val  FROM currstamp where id = 1136");
        if ( query.next() ) {
          osX = query.value(0).toUInt();
          osY = query.value(1).toString();
        }

Но ничего не работает.
Код:
variable or field 'realTimePoints' declared void
'db1' was not declared in this scope
Как мне это исправить?
« Последнее редактирование: Февраль 06, 2012, 09:57 от karpenko1989 » Записан
Blackwanderer
Гость
« Ответ #1 : Февраль 06, 2012, 08:30 »

Код
C++ (Qt)
void TrendTop::realTimePoints(&db1){}
Код:
variable or field 'realTimePoints' declared void
'db1' was not declared in this scope
Без обид, но вам нужно изучать самые основы языка. Уже потом ООП. У вас функция описана синтаксически неправильно о чем и сообщает компилятор. И на лицо непонимание механизма передачи параметров в функции и концепций областей видимости.
« Последнее редактирование: Февраль 06, 2012, 08:37 от Черный Странник » Записан
karpenko1989
Гость
« Ответ #2 : Февраль 06, 2012, 09:57 »

Тему можно закрывать, ошибку нашел
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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