这是安装mysql时的情形:
1.软件中心:输入mysql 安装mysql服务端和客户端,然后再安装mysql 管理员
2.打开mysql管理员
3.点击connect
3.qust@qust-K42JZ:~$ mysql -u root -p //以root身份登录
输入mysql 语句时不要忘记在句末加";"
测试源程序.cpp:
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> #include <QtSql> #include <iostream> using namespace std; 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("qust"); db.setPassword("123"); if (!db.open()) qDebug() << "Failed to connect to root mysql admin"; else std::cout<<"succeed!"<<std::endl; QSqlQuery query; query.exec("create table hello(id bigint not null auto_increment,name varchar(255),age bigint,primary key (id))"); query.exec("insert into hello(name, age) values('xiaoxi', 18)"); query.exec("insert into hello(name, age) values('xiaonan', 19)"); query.exec("insert into hello(name, age) values('xiaobei', 20)"); query.exec("insert into hello(name, age) values('xiaodong', 21)"); QSqlQueryModel *model = new QSqlQueryModel; model->setQuery("select * from hello"); model->setHeaderData(0, Qt::Horizontal, "id"); model->setHeaderData(1, Qt::Horizontal, "name"); model->setHeaderData(2, Qt::Horizontal, "age"); ui->tableView->setWindowTitle("QSqlQueryModel"); ui->tableView->setModel(model); db.close(); } MainWindow::~MainWindow() { delete ui; }
在Qt 5.2.1中Qt已经自带MySQL的驱动,但还会发生找不到驱动的提示,这是你需要将MySQL安装目录下的libmysql.dll拷贝到Qt安装目录下的bin目录中即可。