#include <QCoreApplication>
#include <QTextCodec>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlRecord>
#include <QTime>
#include <QSqlError>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv); //创建一个Qt应用程序对象app
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); //设置
中文显示 QSqlDatabase db10 = QSqlDatabase::addDatabase("QSQLITE");
db10.setHostName("127.0.0.1"); //设置
数据库主机名
db10.setDatabaseName("qtDB8.db"); //设置数据库名称
db10.setUserName("user"); //设置用户名
db10.setPassword("root"); //设置密码
db10.open(); //连接数据库
//创建数据库表
QSqlQuery query5;
query5 =
QSqlQuery(db10);
bool success = query5.exec("create table automobile(id int primary key,attribute varchar(20),type varchar(20),kind varchar(20),nation int,carnumber int,elevator int,distance int,oil int,temperature int)");
if(success)
qDebug()<<"创建数据库成功";
else
qDebug()<<"创建数据库失败";
//查询
query5.exec("select *from automobile");
QSqlRecord rec = query5.record(); //声明一个
sql记录对象将读取到的记录存放到rec该记录变量中
qDebug()<<QObject::tr("automobile表字段数:")<< rec.count();
//插入记录
QTime t;
t.start(); //启动一个计时器,统计操作耗时
query5.prepare("insert into sutomobile values(?,?)");
long records = 10; //向表中插入任意的100条记录
for(int i=0;i<records;i++)
{
query5.bindValue(i,i); //绑定要插入的值,也可调用函数addBindValue()
query5.bindValue(1,"四轮");
query5.bindValue(2,"轿车");
query5.bindValue(3,"富康");
query5.bindValue(4,qrand()%100);
query5.bindValue(5,qrand()%10000);
query5.bindValue(6,qrand()%300);
query5.bindValue(7,qrand()%200000);
query5.bindValue(8,qrand()%52);
query5.bindValue(9,qrand()%100);
success = query5.exec();
if(!success)
{
QSqlError lastError = query5.lastError();
qDebug()<<lastError.driverText()<<QString(QObject::tr("插入失败"));
}
}
qDebug()<<QObject::tr("插入 %1 条记录,耗时 %2 ms").arg(records).arg(t.elapsed());
return a.exec();
}