Russian Qt Forum

Qt => Базы данных => Тема начата: Никита от Март 02, 2011, 14:13



Название: базы данных
Отправлено: Никита от Март 02, 2011, 14:13
я начинающий программист)))вообще все с нуля.мне надо создать базу данных в qt 4.5. может кто подсказать как это сделать


Название: Re: базы данных
Отправлено: Пантер от Март 02, 2011, 14:17
Берешь книги и учишь. Другого варианта нет. Вот в таком порядке:
1. Книга по с++
2. Книга по sql
3. Книга по Qt


Название: Re: базы данных
Отправлено: lit-uriy от Март 02, 2011, 14:18
Изучай примеры из каталога %QTDIR%\examples\sql\
Некоторые из них прокомментированы в Асистенте


Название: Re: базы данных
Отправлено: GreatSnake от Март 02, 2011, 14:22
Цитировать
мне надо создать базу данных
Думаете автору нужна именно реляционная БД?


Название: Re: базы данных
Отправлено: GreatSnake от Март 02, 2011, 14:26
[off]
2 lit-uriy
С юбилеем однако ;)
[/off]


Название: Re: базы данных
Отправлено: Пантер от Март 02, 2011, 14:32
Угу, lit-uriy, поздравляю. :)


Название: Re: базы данных
Отправлено: Никита от Март 02, 2011, 14:43
спасиб большое)))а может у кого нить есть код простой базы данных в qt  а я постараюсь переделать под себя


Название: Re: базы данных
Отправлено: Пантер от Март 02, 2011, 14:45
В QTDIR/examples/sql смотри, там есть примеры.


Название: Re: базы данных
Отправлено: GreatSnake от Март 02, 2011, 14:46
Цитировать
мне надо создать базу данных
Вы можете пояснить, что вы хотите получить в итоге? Просто БД или ещё GUI инструментарий (редактор) к ней?


Название: Re: базы данных
Отправлено: Никита от Март 02, 2011, 14:53
смотрел)))там в коде сначала идет void initializeModel(QSqlRelationalTableModel *model)
 я просто пытался уже. как я понимаю это значит загрузка модели.......


Название: Re: базы данных
Отправлено: Никита от Март 02, 2011, 14:54
просто базу данных с которой можно будет брать информацию для дальнейшего использования в расчетах


Название: Re: базы данных
Отправлено: voral от Март 02, 2011, 15:35
просто базу данных с которой можно будет брать информацию для дальнейшего использования в расчетах
В таком разрезе ("просто базу данных" )вам достаточно установить любую  СУБД (например MySQL, Firebird и т.п.) и при помощи консольной утилиты создать и заполнить в ней таблицы. :)

Для начала почитайте, напимер "Qt 4. Программирование GUI на С++ " достаточно легко читается и на глазах вырисовывается неплохой (для вас пример). Если внимательно почтете появиться много вопросов, но уже более правильных.


Название: Re: базы данных
Отправлено: Никита от Март 02, 2011, 15:41
спасибо за подсказку


Название: Re: базы данных
Отправлено: Никита от Март 03, 2011, 15:06
я создал в qtDesigner  окно.сдклал так чтоб база данных выходила на это окно в ввиде   //Загружаем данные по точкам падения
    if ( query.exec("SELECT * FROM BASES")){



      while (query.next())
       {

         QTreeWidgetItem * item = new QTreeWidgetItem();
         item->setText(0,query.value(1).toString());
         item->setData(32,0,query.value(0).toInt());
         ui->treeWidget_2->addTopLevelItem(item);

       }
  }
    else{
    qDebug()<<"cannot exec query!"<<query.lastError();

    }
когда запускаешь программу она выводит TreeWidget мне надо чтоб когда нажимаешь на эту строчку мышкой в консоле сборки появлялось сообщение "все ок "


Название: Re: базы данных
Отправлено: voral от Март 03, 2011, 16:00
я создал в qtDesigner  окно.сдклал так чтоб база данных выходила на это окно в ввиде   //Загружаем данные по точкам падения
....
когда запускаешь программу она выводит TreeWidget мне надо чтоб когда нажимаешь на эту строчку мышкой в консоле сборки появлялось сообщение "все ок "
Здесь в посте можно оформить код специальными тегами. Кнопка над полем ввода ;)

Вам нужно почитать о системе сигнал-слот. Найти у виджета подходящий сигнал, создать слот котоый будет выводить в консоль все что вам нужно. И связать эту паочку через connect(...)


Название: Re: базы данных
Отправлено: Никита от Март 03, 2011, 16:34
а примерчик кода у вас не завалялся случаем))


Название: Re: базы данных
Отправлено: voral от Март 03, 2011, 17:43
а примерчик кода у вас не завалялся случаем))

Нашли бы вы сами - пользы бы больше было ;)

Примерно как то так:
Код:
class MyClass :public QWidget
{
Q_OBJECT
public:
MyClass(OWidget *parent);
QTreeWidget *tree;
public slot:
void itemCanged( QTreeWidgetItem * current, QTreeWidgetItem * previous );
}

MyClass::MyClass(OWidget *parent)
{
...
this->tree=new QTreeWidget(this);
connect(this->tree,SIGNAL(currentItemChanged ( QTreeWidgetItem *, QTreeWidgetItem * )),this,SLOT(itemChanged ( QTreeWidgetItem *, QTreeWidgetItem * )));
}
void MyClass::itemCanged( QTreeWidgetItem * current, QTreeWidgetItem * previous )
{
qDebug("I'm here");
}


Название: Re: базы данных
Отправлено: Никита от Март 03, 2011, 17:58
:: warning: Qmake does not support build directories below the source directory.
:: error: collect2: ld returned 1 exit status
подскижите че за ошибки


Название: Re: базы данных
Отправлено: Никита от Март 03, 2011, 19:45
спасибо voral за подсказку я придумал сделать проще))


Название: Re: базы данных
Отправлено: GraninAS от Март 04, 2011, 06:32
спасиб большое)))а может у кого нить есть код простой базы данных в qt  а я постараюсь переделать под себя

Есть!
Найдете примеры здесь: http://sourceforge.net/projects/qstsqltools/files/

Там есть пример для версии QST 0.4, "TradeDB": http://sourceforge.net/projects/qstsqltools/files/TradeDB%200.4%20example/
Так же есть зародыш примера для QST 0.5, "QTelecom": http://sourceforge.net/projects/qstsqltools/files/QST%200.5/QTelecom%200.1%20Special%20for%20QST%200.5.8/


Название: Re: базы данных
Отправлено: Никита от Март 09, 2011, 12:34
   подскажите пожалуйста как выгрузить в текстовый файл результат вычисления программы???


Название: Re: базы данных
Отправлено: GraninAS от Март 11, 2011, 07:44
...Использовать стандартную библиотеку C++?..
Не помню, как это там делается, но есть несколько путей: через потоки и функциями чтения/записи. Что-то вроде fprintf(...).