一、Qt连接MySQL数据库
将mysql文件lib目录下的libmysql.lib和libmysqld.dll复制到Qt5.9中的mingw53_32的bin文件下。
在pro文件中添加 QT +=sql
打开数据库:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");//MySQL数据库
db.setHostName("localhost");//主机名
db.setDatabaseName("netbarwork");//数据库名
db.setUserName("root");//连接用户名
db.setPort(3306);//端口号
db.setPassword("123456");//连接密码
if(!db.open())
{
QMessageBox::warning(NULL,"Error","数据库打开失败,请重试!!!");
}
db.close();
Model和View绑定
QSqlQueryModel *model = new QSqlQueryModel(this);
model->setQuery(QString("select * from user"));
model->removeColumn(2); //这是指不显示第几列
ui->tableView->setModel(model);//设置模型
//设置表头
model->setHeaderData(0, Qt::Horizontal, tr("account"));
model->setHeaderData(1, Qt::Horizontal, tr("password"));
model->setHeaderData(2, Qt::Horizontal, tr("name "));
model->setHeaderData(3, Qt::Horizontal, tr("classification"));
//设置列自适应宽度
QHeaderView* headerView = ui->tableView->horizontalHeader();
headerView->setSectionResizeMode(QHeaderView::Stretch);
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);//是否可以编辑
ui->tableView->setWindowTitle("查询完毕");