草庐IT

sqlite3_exec

全部标签

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++ - 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

SpringBoot整合SQLite(详细讲解)

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

c++ - gcc 和 g++ 错误 : error trying to exec 'cc1plus' : execvp: No such file or directory

我在编译时遇到问题.c和.cpp使用gcc的文件和g++,对于这两种情况,我都收到了消息:g++(orgcc):errortryingtoexec'cc1plus':execvp:Nosuchfileordirectory`我已经尝试重新安装gcc和g++并确保它们的版本相同。编辑:我使用的是ubuntu16.04.1LTS,g++和gcc的版本都是5.4.020160609。以下是echo|g++-v-xc++-fsyntax-only-的输出:Usingbuilt-inspecs.COLLECT_GCC=g++Target:x86_64-linux-gnuConfiguredwit

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++ - 如何在 C++ 中对 exec() 进行析构函数友好调用?

我曾尝试在C++代码中运行C风格函数exec()(带有一些后缀),但提到没有为现有对象调用析构函数。有没有办法保证在exec()之前调用所有必需的析构函数-就像在程序终止时一样?也许,在C++中有另一种方法可以实现不使用exec()执行代码的替代? 最佳答案 来自手册页Theexec()functionsonlyreturnsifanerrorhasoccurred.由于exec函数用新图像覆盖进程,因此您无法在成功调用后执行任何析构函数。如果您需要清理,那么您应该在调用exec之前执行。

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并

log sqlite选择值

我有这样的查询StringinnerSelectQuery="SELECT*FROM"+TABLE_NAME_EVENT_TYPE_MASTER+"WHEREEventTypeKey='"+cursor.getInt(2)+"'";CursorinnerCursor=db.rawQuery(innerSelectQuery,null);if(innerCursor.moveToFirst()){userEvent.setEventTypeKey(innerCursor.getString(1));Log.e("tag","EventTypeKey"+innerCursor.getString(