带有C ++的SQLite3检索ID并存储到另一个表

时间:2017-07-06 19:44:10

标签: c++ sqlite

晚上好人, 我正在使用SQLite3和C ++构建一个数据库,我想插入表#34; Subs&#34;作为外键,ID是表&#34;程序&#34;的主键。表程序有两列, Id programCode 。我将programCode放在变量中,所以我的方法是从 programCode 中获取 Id ,将其存储到变量中,然后将其存储在表 Subs < / em>的。我的问题是我不知道如何从查询中获取结果并将其存储到变量中。这是我的代码:

sqlite3_stmt *sql;
rc = sqlite3_prepare_v2(db, "SELECT Id FROM Programs WHERE  programCode=?", -1, &sql, 0);
sqlite3_bind_text(sql, 1, _program.c_str(), -1,  SQLITE_TRANSIENT);
int step = sqlite3_step(sql);

if(step == SQLITE_ROW) {
   printf("%d\n", sqlite3_column_int(sql, 0));
}

_program 变量保存programCode值。 Printf什么都不打印,我希望看到查询的结果,所以我可以使用它来存储整数。 任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

感谢@CL给了我这条信息。我检查了我的csv,在那里我检索了数据库的信息,而 programCode 在文本之前有一个“空格”,这就是为什么没有匹配的行。谢谢@CL!