QT sqlite3数据库读取、容器 *** 作、文件读写——学习笔记。

QT sqlite3数据库读取、容器 *** 作、文件读写——学习笔记。,第1张

概述直接上代码 #include "dbpoi.h"#include <QtGui/QApplication>#include <QtCore/QCoreApplication>#include <QSqlDatabase>#include <QSqlQuery>#include <QSqlError>#include <QSqlDriver>#include <qDebug>#inc

直接上代码


#include "dbpoi.h"#include <QtGui/QApplication>#include <QtCore/QCoreApplication>#include <QsqlDatabase>#include <Qsqlquery>#include <QsqlError>#include <QsqlDriver>#include <qDeBUG>#include <QString>#include <QVector>#include <QList>#include <Qfile>#include <QSet>int main(int argc,char *argv[]){	QApplication a(argc,argv);	//dbPOI w;		 //QCoreApplication a(argc,argv);  //  QTextCodec::setCodecForCStrings(QTextCodec::codecForname("utf8"));	QVector<int> tempFromNode;	QVector<int> tempToNode;	QSet <int> tempSort;    QsqlDatabase db = QsqlDatabase::addDatabase("QsqlITE");     db.setDatabasename("NEW_AR_POI.sqlite"); // 数据库名与路径,此时是放在同目录下	// db.setDatabasename("offset.db"); // 数据库名与路径,此时是放在同目录下    bool ok = db.open(); // 连接数据库,然后就可以使用了.	if(ok){		Qsqlquery query;	  		if (query.exec("select * from linkNode_table_bark "))   //尝试列出  表的所有记录			{  //本次查询成功				int numRows = 0;  //询问数据库驱动,是否驱动含有某种特性 	 					if (db.driver()->hasFeature(QsqlDriver::querySize))					{						numRows = query.size();  //如果支持结果影响的行数,那么直接记录下来					}					else					{						query.last(); //否则定位到结果最后,qt 文档说,这个方法非常慢						numRows = query.at() + 1;						query.seek(-1);					}			}							//尝试列出  表的所有记录			while (query.next()) {				int num =0;				/*QString FNode_ID = query.value(4).toString();				QString TNode_ID = query.value(5).toString();*/				int FNode_ID = query.value(3).toInt();				int TNode_ID = query.value(4).toInt();				tempFromNode.append(FNode_ID);				tempToNode.append(TNode_ID);							}		}		else{		  //qDeBUG() << "cannot open database.";			printf( "cannot open database.");	}				Qfile file( "file.txt" );			if ( file.open(qiodevice::writeonly | qiodevice::Text)) {				QTextStream stream( &file ); 				for ( int index =0; index < tempFromNode.size(); index ++ ){					stream << tempFromNode.at(index);					tempSort.insert(tempFromNode.at(index));						tempSort.insert(tempToNode.at(index));					stream<<"\t"<< tempToNode.at(index) <<endl ;									}				file.close();			}				//	qSort(tempSort.begin(),tempSort.end());			//tempSort.unite(tempSort);Qfile filetTempSort( "tempSort.txt" );			if ( filetTempSort.open(qiodevice::writeonly | qiodevice::Text)) {				QTextStream stream( &filetTempSort ); 										 foreach (const int &value,tempSort)						 {							 stream << value<<endl;	 							 filetTempSort.close();					}				}			Qfile fileTp( "TP.txt" );			if ( fileTp.open(qiodevice::writeonly | qiodevice::Text)) {				QTextStream stream( &fileTp); 								 foreach (const int &value,tempSort)				 {					 stream << value;					 for ( int index =0; index < tempFromNode.size(); index ++ ){						 if (tempFromNode.at(index) == value)  							 stream << "\t"<<tempToNode.at(index);					 }										for ( int index =0; index < tempFromNode.size(); index ++ ){						if (tempToNode.at(index) == value)								 stream << "\t"<<tempFromNode.at(index);					 }						 stream << endl;					}								 fileTp.close();			}		//w.show();		//return a.exec();		return 0;}	
总结

以上是内存溢出为你收集整理的QT sqlite3数据库读取、容器 *** 作、文件读写——学习笔记。全部内容,希望文章能够帮你解决QT sqlite3数据库读取、容器 *** 作、文件读写——学习笔记。所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1175704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存