Advertisement
Guest User

Untitled

a guest
Nov 15th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  void MainWindow::on_actionAdd_train_triggered()
  2. {
  3.  
  4.     Dialog e;
  5.     if(e.exec())
  6.     {
  7.  
  8.          if(Add(e.Cities))
  9.          {
  10.        QSqlDatabase db_1 = QSqlDatabase::addDatabase("QSQLITE");
  11.                 db_1.setDatabaseName("C:\\SQLiteDatabaseBrowserPortable\\Data\\cities.db");
  12.                  db_1.open();
  13.  
  14.          QSqlQuery r;
  15.          if(r.exec("create table "+e.train_name+" "
  16.                                                      "(id integer primary key, "
  17.                                                      "city varchar(30), "
  18.                                                      "arrival_time varchar(30), "
  19.                                                      "depart_time varchar(30), "
  20.                                                      "distance_to_previous varchar(5),"
  21.                                                      "population varchar(8))"
  22.                                                      ))//таблиця міст через які йде поїзд
  23.          r.clear();
  24.  
  25.          for(int i = 0; i<e.Cities.size();i++)// train stops initialisation
  26.              {
  27.                  if(i == 0)
  28.                  {
  29.                      QString num = "0";
  30.   r.exec("INSERT INTO " +e.train_name+"(city,arrival_time,depart_time,distance_to_previous,population)"
  31.    +"values('"+e.Cities[i].city_+"','"+e.Cities[i].depart_+"','"+e.Cities[i].leave_+"','"
  32.                     +num+"','"+e.get_population(e.Cities[i].city_)+"')");
  33.                  }
  34.                  else
  35.                  {
  36.                      QString number_ = QString::number(e.get_distance_to_previous(e.Cities,i));
  37.    r.exec("INSERT INTO " +e.train_name+"(city,arrival_time,depart_time,distance_to_previous,population)"
  38.    +"values('"+e.Cities[i].city_+"','"+e.Cities[i].depart_+"','"+e.Cities[i].leave_+"','"
  39.    +number_+"','"+e.get_population(e.Cities[i].city_)+"')");
  40.                  }
  41.              }
  42.             //db_.close();
  43.  
  44.         QSqlQuery r_2;
  45.         vector<city>Cities_;
  46.         r_2.exec("create table "+e.train_name+"_people"+" "
  47.                                                              "(id integer primary key, "
  48.                                                              "depart_city varchar(30), "
  49.                                                              "arrival_city varchar(30), "
  50.                                                              "firstname varchar(30), "
  51.                                                              "lastname varchar(30), "
  52.                                                              "bot varchar(10),"
  53.                                                              "vagon integer,"
  54.                                                              "place integer,"
  55.                                                              "privileges varchar(5), "
  56.                                                              "distance integer, "
  57.                                                              "ticket_price integer)");
  58.         r_2.clear();
  59.  
  60.              for(int i = 0;i<e.Cities.size();i++)
  61.              {
  62.                  r_2.exec("SELECT * FROM "+e.train_name+" WHERE city = '" +e.Cities[i].city_+ "'");
  63.                  while(r_2.next())
  64.                  {
  65.                      QString city__ = r_2.value(1).toString();
  66.                      QString arrival_time__ = r_2.value(2).toString();
  67.                      QString depart_time__ = r_2.value(3).toString();
  68.                      QString distance_to_previous__ = r_2.value(4).toString();
  69.                       QString population__ = r_2.value(5).toString();
  70.                      city C(city__,arrival_time__,depart_time__,distance_to_previous__.toFloat(),population__.toInt(),i);
  71.                      Cities_.push_back(C);
  72.                  }
  73.              }
  74.              r_2.clear();
  75.  
  76.         train T(0,1000,e.train_name,Cities_);
  77.               T.set_appropriate_placess_values();
  78.               T.random_passanger();
  79.               T.set_cost();
  80.  
  81.                 QSqlQuery r_3;
  82.                QSqlDatabase db_2 = QSqlDatabase::addDatabase("QSQLITE");
  83.                        db_2.setDatabaseName("C:\\SQLiteDatabaseBrowserPortable\\Data\\cities.db");
  84.                         db_2.open();
  85.                         if(db_2.isOpen())
  86.                             ui->textBrowser_2->append("ERQ");
  87.                 QString bot = "bot";
  88.                 QString privilages = "No";
  89.                 QString dataB = e.train_name+"_people";
  90.  
  91.               //r_3.exec("SELECT name FROM QSQLITE WHERE type='table' AND name='"+dataB+"'");
  92.       //         ui->textBrowser_2->append(r_3.value(0).toString());
  93.   if( r_3.prepare("INSERT INTO "+dataB+" (depart_city,arrival_city,firstname,lastname,bot,vagon,place,privileges,distance,ticket_price)"
  94.                                   "VALUES (?,?,?,?,?,?,?,?,?,?)"))// return false
  95.                    ui->lineEdit->setText("TTT");
  96.                            else
  97.                     ui->textBrowser_2->append(r_3.lastError().text()+" "+QString::number(r_3.lastError().number()));
  98.  
  99.         }
  100.    }
  101.  
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement