Advertisement
Guest User

pacjenci_windows.cpp

a guest
Jan 9th, 2016
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "pacjenci_window.h"
  2. #include "ui_pacjenci_window.h"
  3.  
  4. pacjenci_window::pacjenci_window(QWidget *parent) :
  5.     QMainWindow(parent),
  6.     ui(new Ui::pacjenci_window)
  7. {
  8.     ui->setupUi(this);
  9.     //ustawienie polaczenia
  10.     db = QSqlDatabase::addDatabase("QODBC");
  11.     db.setDatabaseName("informix");
  12.     if(!db.open()){
  13.         qDebug() << "Polaczono z baza danych";
  14.     }
  15.  
  16.     //lista wszystkich query
  17.     sQuery = QSqlQuery(db);
  18.     //uQuery = QSqlQuery(db);
  19.     dQuery = QSqlQuery(db);
  20.     modelQuery = new QSqlQueryModel();
  21.     sQuery.prepare("SELECT * FROM pacjent");
  22.     if(sQuery.exec()){
  23.         sQuery.first();
  24.         qDebug() << "Zapytanie przyjete - konstruktor";
  25.         FillForm();
  26.     }
  27.     else {
  28.         qDebug() << sQuery.lastError().text() << "   konst";
  29.     }
  30. }
  31.  
  32. pacjenci_window::~pacjenci_window()
  33. {
  34.     delete ui;
  35.     db.close();
  36. }
  37. void pacjenci_window::FillForm(){
  38.     ui->nr_ub->setText(sQuery.value(0).toString());
  39.     ui->imie->setText(sQuery.value(1).toString());
  40.     ui->nazwisko->setText(sQuery.value(2).toString());
  41.     ui->adres->setText(sQuery.value(3).toString());
  42.     ui->nr_tel->setText(sQuery.value(4).toString());
  43.     modelQuery->setQuery(sQuery);
  44.     modelQuery->setHeaderData(0, Qt::Horizontal,QObject::tr("Numer ubezpieczenia"));
  45.     modelQuery->setHeaderData(1, Qt::Horizontal,QObject::tr("Imię"));
  46.     modelQuery->setHeaderData(2, Qt::Horizontal,QObject::tr("Nazwisko"));
  47.     modelQuery->setHeaderData(3, Qt::Horizontal,QObject::tr("Adres"));
  48.     modelQuery->setHeaderData(4, Qt::Horizontal,QObject::tr("Telefon"));
  49.     ui->table_select->setModel(modelQuery);
  50.     ui->table_select->setVisible(false);
  51.     ui->table_select->resizeColumnsToContents();
  52.     ui->table_select->setVisible(true);
  53. }
  54.  
  55. void pacjenci_window::on_dodaj_clicked()
  56. {
  57.     QSqlQuery uQuery = QSqlQuery(db);
  58.     uQuery.prepare("INSERT INTO pacjent(nr_ubezpieczenia, imie_pacjenta, nazwisko_pacjenta, adres_pacjenta, telefon_pacjenta) VALUES(nr_ubezpieczenia = :nr_ub, imie_pacjenta= :imie, nazwisko_pacjenta = :nazwisko, adres_pacjenta = :adres, telefon_pacjenta = :telefon)");
  59.     uQuery.bindValue(":nr_ub",ui->nr_ub->text());
  60.     uQuery.bindValue(":imie",ui->imie->text());
  61.     uQuery.bindValue(":nazwisko",ui->nazwisko->text());
  62.     uQuery.bindValue(":adres",ui->adres->text());
  63.     uQuery.bindValue(":telefon",ui->nr_tel->text());
  64.     if(!uQuery.exec()){
  65.         qDebug() << db.lastError().text();
  66.         qDebug() << uQuery.lastError().text() << "   DODAJ BUTTON";
  67.     }
  68.     sQuery.prepare("SELECT * FROM pacjent");
  69.     if(!sQuery.exec()){
  70.         qDebug() << uQuery.lastError().text() << "   DODAJ BUTTON select";
  71.     }
  72.     sQuery.last();
  73.     FillForm();
  74. }
  75.  
  76. void pacjenci_window::on_aktualizuj_clicked()
  77. {
  78.     uQuery.prepare("UPDATE pacjent SET nr_ubezpieczenia= :nr_ub, imie_pacjenta= :imie, nazwisko_pacjenta = :nazwisko, adres_pacjenta = :adres, telefon_pacjenta = :telefon WHERE nr_ubezpieczenia = :nr_ub");
  79.     uQuery.bindValue(":nr_ub",sQuery.value(0));
  80.     uQuery.bindValue(":imie",ui->imie->text());
  81.     uQuery.bindValue(":nazwisko",ui->nazwisko->text());
  82.     uQuery.bindValue(":adres",ui->adres->text());
  83.     uQuery.bindValue(":telefon",ui->nr_tel->text());
  84.     if(!uQuery.exec()){
  85.         qDebug() << uQuery.lastError().text() << "    AKTUALIZUJ";
  86.     }
  87.     sQuery.prepare("SELECT * FROM pacjent");
  88.     if(!sQuery.exec()){
  89.         qDebug() << sQuery.lastError().text() << "    select_aktualizuj";
  90.     }
  91.     sQuery.first();
  92.     FillForm();
  93. }
  94.  
  95. void pacjenci_window::on_usun_clicked()
  96. {
  97.     dQuery.prepare("DELETE FROM pacjent WHERE nr_ubezpieczenia = :nr_ub");
  98.     dQuery.bindValue(":nr_ub",ui->nr_ub->text());
  99.     if(!uQuery.exec()){
  100.         qDebug() << uQuery.lastError().text() << "    usun";
  101.     }
  102.     sQuery.prepare("SELECT * FROM pacjent");
  103.     if(!sQuery.exec()){
  104.         qDebug() << sQuery.lastError().text() << "select_usun";
  105.     }
  106.     sQuery.previous();
  107.     FillForm();
  108. }
  109.  
  110. void pacjenci_window::on_table_select_activated(const QModelIndex &index)
  111. {
  112.     QString check = ui->table_select->model()->data(index).toString();
  113.     sQuery.prepare("SELECT * FROM pacjent WHERE numer_ubezpieczenia =:check OR imie_pacjenta=:check OR nazwisko_pacjenta=:check OR adres_pacjenta=:check telefon_pacjenta=:check");
  114.     sQuery.bindValue(":check",check);
  115.     if(sQuery.exec()){
  116.         while(sQuery.next()){
  117.             ui->nr_ub->setText(sQuery.value(0).toString());
  118.             ui->imie->setText(sQuery.value(1).toString());
  119.             ui->nazwisko->setText(sQuery.value(2).toString());
  120.             ui->adres->setText(sQuery.value(3).toString());
  121.             ui->nr_tel->setText(sQuery.value(4).toString());
  122.         }
  123.  
  124.     }
  125.     else {
  126.         qDebug() << sQuery.lastError().text() << "    tabelka klik";
  127.     }
  128.  
  129.  
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement