lundi 21 décembre 2015

How to write SQLite for client-server programn in Qt

I am new in Qt, I wrote a client server program that client send a message to server it work correctly but now I want every message received from server save in SQLite database.How should exactly I do? I search and write a small part of it but I don't know how can I add message to DB. could you please help me? Thanks Here is my code:

bool createConnection()
 {
   QString path = "C:\Users\Pars\Documents\NewServer";

    QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");

    database.setDatabaseName("Message.DB");

    database.open();

      if(!database.open())
      {
          qDebug()<<"can not open database";
      }


      QSqlQuery query;
      query.exec("DROP TABLE messages");
      query.exec("CREATE TABLE messages ("
                 "id INTEGER PRIMARY KEY AUTOINCREMENT",
                 "HostAddress integer"
                 "date char(10), "
                 "message varchar(30))");


      enum {
          messages_id = 0 ,
          messages_date =1 ,
          messages_HostAddreess = 2,
          messages_message = 3,
      };


      model = new QSqlTableModel(this);
        model->setTable("messages");
        model->setHeaderData(messages_date, Qt::Horizontal, tr("Date"));
        model->setHeaderData(messages_HostAddreess, Qt::Horizontal, tr("From"));
        model->setHeaderData(messages_message, Qt::Horizontal, tr("Message"));
        model->select();


        view = new QTableView;
           view->setModel(model);
           view->setSelectionMode(QAbstractItemView::SingleSelection);
           view->setSelectionBehavior(QAbstractItemView::SelectRows);
           view->setColumnHidden(messages_id, true);
           view->resizeColumnsToContents();
           view->setEditTriggers(QAbstractItemView::NoEditTriggers);

           QHeaderView *header = view->horizontalHeader();
           header->setStretchLastSection(true);

 }

Aucun commentaire:

Enregistrer un commentaire