下面程序是在qt里面使用mysql数据库记录数据的程序。本程序在ubuntu里面使用正常。
1、安装mysql的插件
到官网下载qtbase-opensource-src-5.9.5(可以是其他版本,根据自己使用而定xz文件),解压后:
sudo qmake
sudo make
sudo make install
使用mysql建立数据库和表
CREATE TABLE if not exists Spm (SpmId int auto_increment,pm25 int NOT NULL,pressure int NOT NULL,savetime timestamp,PRIMARY KEY (SpmID));
2、打开数据库
DB=QSqlDatabase::addDatabase("QMYSQL"); //添加 MYSQL 数据库驱动
// DB.setDatabaseName(aFile); //设置数据库名称
DB.setHostName("localhost");
DB.setPort(3306);
DB.setDatabaseName("mydatabase");
DB.setUserName("xxx"); //更换你的用户名称
DB.setPassword("xxxx"); //更换你的密码
if (!DB.open()) //打开数据库
{
QMessageBox::warning(this, "错误", "打开数据库失败",
QMessageBox::Ok,QMessageBox::NoButton);
return;
}
//打开数据表
openTable();
3、数据记录
下面代码记录两个数据。
DB.transaction();
QSqlQuery query;
QString sql=QString("insert into Spm (pm25,pressure) values ('%1','%2')").arg(sen.data[2]).arg(sen.data[3]);
if(query.exec(sql))
{
DB.commit();
}
else
{
DB.rollback();
QMessageBox::information(this,"connection info","add data failed!");
};