Qt使用MySQL 总结

五天磕磕碰碰终于完成了数据库课程设计-图书管理系统,下面总结下 RHEL6.3使用Qt访问数据库的一些经验。

1.安装环境。

1> 安装MySQL。 添加/删除软件那里,搜索下MySQL,客户端服务端都安装。

2> Qt要使用MySQL,在pro文件中加上 QT+=sql  就可以。

3> 安装个 MySQL-workbenth.  直接官网下载rpm包,安装时发现少了libzip和另外一个文件。在rpm网站搜索下这两个。三个一起安装就可以了。


2. Qt访问MySQL。参考《C++_GUI_Qt_编程》第13章。非常详细。

主要用 QSqlQuery 或者 QSqlQueryModel来操作数据库。

query.isActive检查数据库操作中是否有错误发生。

query.exec("INSERT INTO borrowbook ( Reader_Id, Book_Id, Borrow_Time) "
        "VALUES (?, ?, ?)");
        query.addBindValue(ui->readeridLineEdit->text());
        query.addBindValue(ui->bookidLineEdit->text());
        query.addBindValue(ui->borrowtimeLineEdit->text());
        query.exec();


model->setQuery("update book set Remains='"+ ui->remainsLineEdit->text() +
                            "' where Book_Id='"+ ui->bookidLineEdit->text() +"'");
        model->submit();

 QSqlQueryModel *model = new QSqlQueryModel;
    model->setQuery("SELECT * FROM book");
    model->setHeaderData(0, Qt::Horizontal, QObject::tr("Book ID"));
    model->setHeaderData(1, Qt::Horizontal, QObject::tr("Book Name"));
    model->setHeaderData(2, Qt::Horizontal, QObject::tr("Author"));
    model->setHeaderData(3, Qt::Horizontal, QObject::tr("Publisher"));
    model->setHeaderData(4, Qt::Horizontal, QObject::tr("Number"));
    model->setHeaderData(5, Qt::Horizontal, QObject::tr("Remains"));
    QTableView *view = new QTableView;
    view->setModel(model);
    view->setWindowTitle(QObject::tr("Book Information"));
    view->show();

3.Qt学到的新知识。

对话框有模态和非模态。

模态对话框用 dlg.exec()调用,会返回一个值。非模态用 dlg.show()调用。不返回值。

4. 数据库的理解。理解了主键外键等基础知识。。学会访问数据库。


具体参考此工程源码吧。 已经复制到移动硬盘了~~


你可能感兴趣的:(Linux,系统应用)