草庐IT

sqlite3_exec

全部标签

c++ - 如何检查是否附加了sqlite数据库?

我正在使用sqlite来存储我的数据。我有两个数据库。在我的应用程序中,每次收到新请求时,我都会将第一个数据库附加到第二个数据库。问题是,如果有两个请求,它会显示数据库已经在使用中(它试图使用相同的别名“db”附加两次)。我想知道是否有任何方法可以检查是否附加了数据库? 最佳答案 PRAGMAdatabase_list;输出一个包含可用数据库完整列表的结果集。第一列是数据库名称,第二列是数据库文件(如果没有关联文件则为空)。主数据库始终命名为main,临时数据库始终为temp。sqlite>attach"foo.db"asfoo;s

c++ - SQlite 查询 - 如何检索多列数据?

我很难在网上找到一个关于使用xcode和cocos2dx从SQlite数据库获取多个值的工作示例。这是我的sql查询:charsql_query[100];sprintf(sql_query,"SELECT*FROMSQListWHEREColumnDBETWEEN%dAND%dORDERBYRANDOM()LIMIT1",MinColumnD,MaxColumnD);查询本身似乎有效,主要问题是如何将从“select*”收集的值获取到另一个int或char参数中以便我可以使用它?我发现的一些示例提到使用结构回调或提到使用sqlite3_prepare_v2和step方法。不过我找不到

c++ - 如何在没有外部脚本的情况下链接 CMake 和 SQLite?

我有以下CMakeLists:cmake_minimum_required(VERSION2.8.12.2)project(Tutorial)find_package(sqlite3)if(SQLITE3_FOUND)include_directories(${SQLITE3_INCLUDE_DIRS})target_link_libraries(new${SQLITE3_LIBRARIES})endif(SQLITE3_FOUND)add_executable(Tutorialnew.cpp)但是,当我cmake时,我收到以下消息:CMakeWarningatCMakeLists.t

c++ - 如何在 SQLite 中插入新行 ("\n") 字符?

在尝试插入类似的内容时:"Hello\nWorld"SQLite抛出如下错误:Message:unrecognizedtoken:"'Hello";"(alsofewothererrors)即使我将上面的字符串转换为"Hello''\nWorld"或"Hello\"\n\"World",这些转义字符序列不会在这种情况下工作。我目前使用C++语言,像插入任何其他简单字符串列一样插入此列。我尝试了上面的转义序列(即使我在互联网上读到,它们不适用于\n)。如何在SQLite数据库中插入换行符和其他特殊字符? 最佳答案 在SQL中,没有转义

c++ - 构建过程中的 QT 和 SQLITE 问题

我正在开发一个使用sqlite的简单应用程序,问题是下面的代码/*...*/QSqlDatabasedb=QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName("hellogoodbye");if(!db.open()){QMessageBox::critical(0,qApp->tr("Impossibileaprireildatabase"),qApp->tr("Nonèstatopossibileaprireil""database"),QMessageBox::Cancel);}给我:C:\Qt\2010.04\Augu

c++ - sqlite3_bind_text SQLITE_STATIC vs SQLITE_TRANSIENT for c++ string

我有一个返回c++std::string的方法,然后在将其传递到sqlite3_bind_text之前将其转换为c_str()。我的问题是,这应该使用SQLITE_STATIC还是SQLITE_TRANSIENT?sqlite3_bind_text(insertStatement,0,suspect->GetIpString().c_str(),-1,SQLITE_STATIC);//Dosomestuffinsamefunctionthensqlite3_stepsqlite3_bind_text的文档说,Thefifthargumenttosqlite3_bind_blob(),s

java中的sqlite删除方法

我有一种方法可以从数据库中删除一个人(行)。我收到我在捕获量中创建的错误消息。我刚刚开始使用数据库,并且主要是在拼凑不同的技术。我不确定该怎么办publicstaticvoiddeleteperson(字符串firstNameOfpersOntoDelete,字符串LastNameOfPersOntoDelete){statementstmt=null;try{//CreatedatabaseconnectionConnectionc=DriverManager.getConnection("jdbc:sqlite:PERSON.db");//CreateStatementobjectstmt

C++ : fork/exec or pthread?

我正在编写一个程序,一旦按下一个按钮,我就必须执行一个服务器进程(只有当我决定杀死他时才会停止)。为了执行这个过程,我决定使用fork/execv机制:voidCommand::RunServer(){pid=fork();if(pid==0){chdir("./bin");charstr[10];sprintf(str,"%d",port);char*argv[]={"./Server",str};execv("./Server",argv);}else{config->pid=pid;return;}}在“按下按钮”方法中,我这样做:command->RunServer();几天前

c++ - QDialog::exec() 阻塞应用程序

我目前有一个formA,它使用从QDialog继承的另一个表单请求用户输入。使用QDialog::exec提示表单。现在的问题是,将有多个formA实例,因此每当任何一个formA打开另一个表单作为对话框时,整个应用程序都会阻塞。目前我有这样的东西if(formUserInputRequired->exec()==1)//Blockuntiltheuserselectsfromaform{}有没有办法让QDialog::exec不阻塞整个应用程序我只想让它只阻塞调用它的表单的实例或类似的东西但绝对不是整个应用程序?更新:我不需要阻挡窗口。但是我想要一种方法来知道用户何时完成另一种形式的

用SQLITE目标C编程创建2个表不起作用

我正在使用XcodeObjectiveC,并且有以下代码:-(void)initializationDatabase{NSString*sql=@"CREATETABLEalbums(""albumidINTEGERPRIMARYKEYAUTOINCREMENT,""directoryCHAR(20)NOTNULL,""albumnameCHAR(32)NOTNULL,""countINTNOTNULL,""orderidINTNOTNULL"");""CREATETABLEphotos(""photoidINTEGERPRIMARYKEYAUTOINCREMENT,""albumidINTE