我现在正在使用 sqlite3。我想在 SELECT 中使用变量barcode_prog。我有带有表 PT 和列 BarCode 和 Name 的数据库 sql_db 文件。但我想在 SELECT 中使用任何字符串,它将在程序中设置。我在代码中的评论中问我的问题。请帮忙 :)
#include "stdafx.h"
#include "sqlite3.h"
#include <iostream>
int data (void *unused, int field_num, char **value, char **field_name)
{
for (int i = 0; i < field_num; i++)
{
std::cout << value[i] << " = " << field_name[i] << std::endl;
}
return 0;
}
int main()
{
int error;
char *barcode_prog = "4813538002837";
char *errmsg;
sqlite3 *db;
char *sql = "SELECT * FROM PT WHERE ?"; // here i want to use barcode_prog like "SELECT * FROM PT WHERE BarCode = barcode_prog"
error = sqlite3_open("sql_db", &db);
if (error != SQLITE_OK)
{
std::cout << "Cannot read database" << sqlite3_errmsg(db) << std::endl;
}
error = sqlite3_exec(db, sql, data, 0, &errmsg);
if (error != SQLITE_OK)
{
std::cout << "ERROR!" << errmsg << std::endl;
sqlite3_free(errmsg);
}
system ("pause");
sqlite3_close(db);
return 0;
}