初识MySql数据库
void MainWindow::conect() { /*QT Demos or exmples 提供了关于SQLITE数据库的使用方法。 */ QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");//使用MySql加载MYSQL驱动 db.setHostName("localhost");//设置主机名,连接数据库之前必须设置主机名 db.setDatabaseName("test");//设置使用的数据库名称 db.setUserName("root");//登录mysql时的用户名 db.setPassword("123");//登录mysql时的密码 bool ok = db.open();//打开数据库 if(ok) { qDebug()<<"open Database!"<<endl; } else { QMessageBox::critical(0,QObject::tr("Database error"),db.lastError().text()); } } void MainWindow::execute() { QSqlQuery query;//执行SQL语句 query.exec("create table employee(id int(11) primary key,name varchar(50),description varchar(255))");//建表 query.exec("insert into employee values(1,'AnPan','student')");//插入数据 query.exec("insert into employee values(2,'CaoLing','student')"); query.exec("insert into employee values(3,'LvSumei','student')"); query.exec("insert into employee values(4,'PanJiaoLi','student')"); } void MainWindow::display() { QSqlTableModel *model = new QSqlTableModel;//数据模型 model->setTable("employee");//让表employee model->setEditStrategy(QSqlTableModel::OnManualSubmit); //所有更改将被缓存在模型中,直到submitAll()或者revertAll()函数被调用 model->select(); //select()函数用于确认一个或者多个套接口的状态。对于每一个套接口,调用者可以查询它的可读性,可写性及错误状态信息 model->setHeaderData(0,Qt::Horizontal,QObject::tr("ID"));//设置表头 model->setHeaderData(1,Qt::Horizontal,QObject::tr("Name")); model->setHeaderData(2,Qt::Horizontal,QObject::tr("Description")); this->ui->tableView->setModel(model); }