如何用Qt连接数据库并导入文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Qt连接数据库并导入文件?相关的知识,希望对你有一定的参考价值。
可以使用QT自带的数据库完成操作,以下是参考代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库
db.setDatabaseName("note.db"); //创建一个note.db的文件存储数据
db.open(); //开启数据库
query = QSqlQuery(db); //获得访问数据库的query
query.exec(XXX); //执行指令(XXX为SQL指令)
db.close(); //关闭数据库
一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。
要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。
另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。
以下给一些我写的例子:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库
db.setDatabaseName("note.db"); //创建一个note.db的文件存储数据
db.open(); //开启数据库
query = QSqlQuery(db); //获得访问数据库的query
query.exec(XXX); //执行指令(XXX为SQL指令)
db.close(); //关闭数据库
大致只要知道以上例子就OK了。一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。
另外,要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。
另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。
再另外,在QT的编程中,C++和类都很重要,所以还是得看看。
还有不明白的话欢迎留言
如何用Qt做SolidWorks二次开发
这个问题困扰了我2年了,之前找到的教程都是MFC的,ATL导入向导或是通过导入类型库的方式来调用控件,我一直都搞不明白。
最近学习了ActiveQT以及通过ActiveQT控制EXCEL、Word、PowerPoint、flash后,我终于大致明白了。
经过几个小时的尝试,终于成功通过Qt操作Solidworks。建议各位可以去BAIDU相关文章,关键词ActiveQt
首先我要说明白一下,VC都是通过COM来操作Solidworks的,既然如此,我们只要通过Qt的COM操作方法来控制就可以了。
我用的是Qt5.4、Solidworks2014。
其实有两种方式:1、使用ClassId 直接获取COM对象来操作Solidworks。2、使用Qt自带的dumpcpp工具导出H文件,然后通过指针对象来控制。
第二种方法和VC的开发方式类似。但是导出的文件有12mb,37W行代码,IDE相当容易崩溃,而且编译有错误,需要求改一下头文件,但是因为老是崩溃,我就没有继续尝试了。
不过输出的头文件至少可以当个API手册看,至于输出方法:将solidworks目录下的sldworks.tlb文件复制到随便一个目录下(我复制到自己的Qt工程目录),打开Qt的命令行功能,通过cd转到这个目录下,运行dumpcpp SldWorks.tlb 即可。
下面说一下如何用第一个方法:
首先在项目文件中添加:QT+= axcontainer,之后运行QMake。
在Cpp文件中添加#include <ActiveQt/QAxObject>
之后在需要运行地方添加以下代码:
QAxObject *swApp=new QAxObject("SldWorks.Application",0);
if(!swApp->isNull())
{
swApp->dynamicCall("SetVisible(bool)",true);
swApp->dynamicCall("OpenDoc(QString,int)",QString("C:\\Users\\512\\Desktop\\a.SLDPRT"),1);
}
SldWorks.Application是COM的简写,可以在注册表中搜索命名控件来获得。
以上是关于如何用Qt连接数据库并导入文件?的主要内容,如果未能解决你的问题,请参考以下文章