草庐IT

cl-sqlite

全部标签

C++ SQLite 在 C 接口(interface)中导入整个 CSV 文件

有没有办法通过C接口(interface)将整个CSV文件导入SQLite?我知道看起来像这样的命令行导入,sqlite>.modecsvsqlite>.import但我需要能够在我的程序中执行此操作。我还应该注意到,我已经在C++中成功创建了一个CSV阅读器,它读取CSV文件并将其内容逐行插入到表格中。这样可以完成工作,但是对于包含730k行的CSV,此方法需要约20分钟才能加载,这太长了。(这大约是正在处理的东西的平均大小)(机器:Intel(R)Core(TM)2DuoCPUE8500@3.16GHz3.17GHz,4.0GBRam,Windows764位,VisualStudi

c++ - 如何在 C++ 项目中使用 sqlite3.c?

我正在尝试在Eclipse的C++项目中使用sqlite3,并且在网上找到了大量关于使用API的建议,但不幸的是我遇到了一个较早的障碍。我猜这是由于我缺乏使用C/C++和CDT的经验。我只是将sqlite3.c和sqlite3.h复制到项目的源文件夹中,并有一个测试方法如下:intmain(){sqlite3*db;sqlite3**dbpointer=&db;constchar*dbname="test.db";sqlite3_open(dbname,dbpointer);return0;}但是,sqlite3.c文件在Eclipse中显示有许多错误。例如,以下部分注释为“无法解析字

c++ - clEnqueueNDRangeKernel 触发 CL_INVALID_MEM_OBJECT (-38)

我正在为OpenCL使用C++绑定(bind),当我的一个内核入队时,我得到一个cl::Error,它说-38(CL_INVALID_MEM_OBJECT)forclEnqueueNDRangeKernel.此错误未列为clEnqueueNDRangeKernel的可能错误之一.通知功能给我以下输出:CL_INVALID_MEM_OBJECTerrorexecutingCL_COMMAND_NDRANGE_KERNELonGeForceGTX560(Device0).我还没有找到展示这种行为的最小示例。在调用这个函数时,什么会导致这种错误?使用谷歌我只找到了这个answer然而。它声明

c++ - SQLITE 内存不足无法执行语句

我尝试在qt中使用sqlite,但遇到错误。qDebug()这是调试的输出:(“QSQLITE”,“QODBC3”,“QODBC”)打开:true内存不足无法执行语句插入:假内存不足无法执行语句 最佳答案 我看到的几个问题应该可以解决这个问题。1.创建时需要将数据库对象传递给QSqlQuery。下面一行是错误的QSqlQuerycreateQuery;改成下面这样就可以了QSqlQuerycreateQuery(DB);2.您需要在创建QSqlQuery对象之前打开数据库。如果用它初始化QSqlQuery对象,则需要打开与数据库的连

c++ - 提交对 SQLite 数据库的更改,这可以在 QTab 之间看到

我有一个简单的应用程序,我可以在其中登录/注销用户。当用户登录时,应用程序会在主窗口(员工/管理员/客户)上显示相应的选项卡。我有一个QMainWindow与QTabWidget在上面。在我的QMainWindow我创建了一个数据库(我为此实现了一个特殊的类):classDataBase{public:DataBase();voidinitDatabase();voidcloseDatabase();private:QSqlDatabasedb;};DataBase::DataBase(){}voidDataBase::initDatabase(){QStringfilename="d

c++ - cl.exe 在通过 MSBuild 调用时无限期挂起

我正在尝试在我的(主要是C++)项目上运行MSBuild(想象一个非常庞大的代码库)。VisualStudio2015是有问题的工具集(Windows7SP1和VS2015Update2)。即使使用/m:1(并因此强制它只使用一个处理器),我发现一些完全随机的项目在编译阶段不断挂起。例如,发生此问题时,如果我查看有问题的项目及其包含的文件,我可以看到已为每个翻译单元成功创建.obj文件。然而,系统永远不会进入链接阶段。我看到两个cl.exe实例闲置在任务管理器上,什么也不做。也许在30分钟左右之后,当我杀死其中一个实例时,我得到类似的东西:cl:CommandlineerrorD804

SpringBoot整合SQLite(详细讲解)

一、SQLite是什么SQLite是一个不需要服务、不需要配置、不需要外部依赖的开源SQL数据库引起。不需要服务器:如MySQL安装后,会在操作系统中创建一个进程mysqld.exe,而SQLite不需要创建。不需要配置:如MySQL安装后,需要配置端口、用户名、密码等,而SQLite不需要,它是存储在磁盘上的文件,不需要安装。不需要外部依赖:SQLite是自给自足的,不需要任何外部的依赖。二、SQLite优点sqlite支持MySQL拥有的大多数功能。允许多个进程\线程安全访问,支持事务机制。允许多门开发语言调用,支持JDBC。支持Windows、Linux等多个操作系统上运行。三、Spri

c++ - 多线程 SQLite 崩溃

我正在尝试在多线程C++程序中使用SQLite3.7.5。我已将其缩小为几行简单的代码:sqlite3*Database;sqlite3_stmt*Stmt;intretval=sqlite3_open("database.db3",&Database);retVal=sqlite3_prepare(&Database,"CREATETABLERawData(KeyCHAR(5))",-1,&Stmt,0);retval=sqlite3_step(Stmt);retval=sqlite3_finalize(Stmt);当我直接从我的主进程调用这段代码时,它工作正常。但是,如果我使用Cr

C++ 正确处理 sqlite3_prepare 和 sqlite3_step 错误的方法

我有一个使用C++和Sqlite3构建的函数,我将在其中发出一个简单的SQL语句。此函数需要没有返回值的DML命令(例如:INSERTINTO、UPDATE或CREATE类型的语句)。我想知道我是否处理纠正了sqlite3调用中可能出现的错误。这是我使用的代码:voidexecStatement(sqlite*dbHandler,std::stringsql){sqlite3_stmt*compiledStatement;intretStatus=sqlite3_prepare(dbHandler,sql.c_str(),-1,&compiledStatement,0);if(retS

c++ - 如何在 C++ 中以单个类方法获取 SQLite 记录

在这个例子中...http://www.sqlite.org/quickstart.html...我了解如何将sqlite3_exec()与回调类方法或函数一起使用,以获取记录集并遍历它。好吧,如果我想创建一个类DB并有一个静态类方法怎么办staticvoid*getRS(void*hDB,std::stringsSQL)?我是C++的新手,但很快就掌握了它的窍门。在C++中有没有一种方法可以像Lambda函数一样创建、从中获取结果并将它们传回?或者,是否有另一种技术可以返回我可以遍历每一行的std::map、std::multimap等?(请注意,如果重要的话,我正在使用XCode并