首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CPP中截断SQLite中的表?

如何在CPP中截断SQLite中的表?
EN

Stack Overflow用户
提问于 2017-03-19 04:39:21
回答 2查看 292关注 0票数 1

正在尝试截断表,但输出为分段故障(核心转储)。以下是我要截断的代码。表名: DEPO由于函数del_depo_data是从不同的地方调用的,而数据库是从调用它的地方打开的,所以没有编写打开数据库的代码。

代码语言:javascript
复制
void del_depo_data()
{
    sqlite3 *db;
    char *zErrMsg = 0;
    int rc;
    char *sql;
    sqlite3_stmt *res;
    const char* data = "Callback function called";

    /* Create merged SQL statement */
    sql = "DELETE FROM TABLE DEPO";
    rc = sqlite3_exec(db, sql, callback, (void*)data, &zErrMsg);
    sqlite3_close(db);
    return;

}
EN

回答 2

Stack Overflow用户

发布于 2017-03-19 05:02:32

解决了

SQL

  • 需要打开del_depo_data().

  • In内部的数据库查询存在语法错误。

  • 将从DEPO中删除。
票数 1
EN

Stack Overflow用户

发布于 2017-03-19 04:44:06

由于函数del_depo_data是从不同的地方调用的,而数据库是从调用它的地方打开的,所以没有编写打开DB的代码。

如果您在代码中的其他位置打开了数据库,则需要以某种方式将数据库句柄( sqlite3 *)传递给此函数。现在,您声明了一个局部变量sqlite3 *db,但从未将其初始化为任何值。这会导致SQLite崩溃。

此外,DELETE FROM TABLE tablename不是有效的SQLite语法。正确的语法是简单的DELETE FROM tablename

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42879592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档