Qt|将.CSV文件转为.DB文件

void FileCoversion(QString _path)
{
	// 打开文件
	QString file_path(_path+"mychart.csv");
	QFile file(file_path);
	if(!file.open(QIODevice::ReadOnly|QIODevice::Text))
		qDebug()<<"open failed!";
	
	// 判断当前路径下是否有db文件
	QFileInfo fileInfo(_path+"mychart.db");
	if(fileInfo.isFile())
		return;

	// 打开数据库
	QSqlDatabase db = QSqlDatabase::addDataBase("QSQLITE");	// 数据库类型
	db.setDatabaseName(_path+"mychart.db");
	if(!db.open()){
		QMessageBox::critical(0,"unable","can not open database.",QMessageBox::Cancel);
		return;
	}
	QSqlQuery query;	// 默认打开
	query.exec("create table a (x double,y int);");	// 创建表格a 第一列x double型 第二列y int型
	query.exec("delete from a;");	// 删除表格a的数据
	
	QStringList list;
	list.clear();
	QTextStream in(&file);		// QTextStream读取数据
	// 将csv转为数据库的表保存
	while(!in.atEnd()){
		QString fileLine = in.readLine();	// 从第一行读取至下一行
		list = fileLine.split(",",QString::SkipEmptyParts);
		QString insert_str = QString("insert into a (x,y) value('%1','%2')").arg(list.at(0).toDouble()).arg(list.at(1).toInt());
		query.exec(insert_str);
		// qDebug()<<query.lastError();
	}
	query.clear();
	db.close();
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奇树谦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值