qt連接mysql數據庫以及txt文本的複製操作

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QDialog>
#include <QPalette>
#include <QButtonGroup>
#include <QMessageBox>
#include <QSqlTableModel>
#include <QSqlRecord>
#include <QTime>
#include <QMessageBox>
#include <QButtonGroup>
#include <QSqlQuery>
#include <string>
using namespace  std;
#include <iostream>
#include <fstream>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("123456");
    db.open();
    model=new QSqlTableModel(this);
    model->setEditStrategy(QSqlTableModel::OnManualSubmit);
    
    
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    
    QSqlQuery query;
    query.exec("SELECT * FROM students ORDER BY id ASC");
    
    
    
    
    model->setTable("students");
    
    model->select();
    while (query.next())
    {
        //依次獲取表中第五列數據
        int rowNum = model->rowCount(); // 獲得表的行數
        qDebug()<<"rowNum"<<rowNum<<endl;
        
        QString txtph = query.value(4).toString();//query.value()的參數只能是index(第五列的數據)
        qDebug()<<"txtph"<<txtph<<endl;
        
        QByteArray   aByteArray  =  txtph.toLatin1();//先把轉化爲QByteArray的結果存儲起來
        const char* txtph2 =  aByteArray.data();//再調用data()或constData()
        
        
        //獲取每個txt文本路徑,並全部複製到2.txt中(txt文本的複製操作)
        ifstream myfile(txtph2);
        ofstream outfile("D:\\VS\\born\\2.txt", ofstream::app);
        string temp;
        if (!myfile.is_open())  {
            cout << "未成功打開文件" << endl;
        }
        //        while (getline(myfile, temp,'\n'))  {
        while (getline(myfile, temp))  {
            outfile << temp ;
            //             outfile << temp ;
        }
        outfile<<endl;
        myfile.close();
        
        
        //        if(pFileIn[0]==NULL || pFileIn[1]==NULL || pFileOut==NULL) return 1;
        
        //        for(int i=0;i<2;i++)
        //        {
        //            while(!feof(pFileIn[i]))
        //            {
        //                ch=fgetc(pFileIn[i]);
        //                fputc(ch,pFileOut);
        //            }
        //            fclose(pFileIn[i]);
        
        //        }
        
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章