qt连接mysql

来源:互联网 发布:西安西科软件 编辑:程序博客网 时间:2024/05/17 23:51

参考文章


http://blog.csdn.net/youhaipeng/article/details/7997452


补充:

电脑64位 但是 qt creater 32位 需要用拷贝32位的libmysql.dll


1)安装mysql 账号root 密码111111 建表testtable 添加任意3个字段

2)pro文件中 添加sql

3)界面添加tableview控件


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlQueryModel>
#include <QtSql/QSqlDatabase>
#include <QMessageBox>
#include <QtSql/QSqlError>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QSqlDatabase m_defDB = QSqlDatabase::addDatabase( "QMYSQL" );
    m_defDB.setHostName( "localhost" );
    m_defDB.setDatabaseName( "testmysql" );
    m_defDB.setUserName( "root" );
    m_defDB.setPassword( "111111" );
   if (!m_defDB.open())
   {
      QMessageBox::critical(NULL, "Error Information", m_defDB.lastError().text(),QMessageBox::Ok ,QMessageBox::Cancel);
   }
    QSqlQueryModel *model  = new QSqlQueryModel(ui->tableView);
    model->setQuery(QString("select * from testtable"));
    ui->tableView->setModel(model);
    ui->tableView->setColumnWidth(0,96);
    ui->tableView->setColumnWidth(1,77);
    ui->tableView->setColumnWidth(2,79);
    ui->tableView->setFont(QFont( "Times", 11, QFont::Black ) );
    ui->tableView->verticalHeader()->hide();
    ui->tableView->horizontalHeader()->hide();
    ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
    ui->tableView->setAlternatingRowColors(true);
}
MainWindow::~MainWindow()
{
    delete ui;
}

0 0
原创粉丝点击