Android 如何将文本绑定到SQL IN语句

Android 如何将文本绑定到SQL IN语句,android,c++,sql,c,java-native-interface,Android,C++,Sql,C,Java Native Interface,如何将文本绑定到`语句中的“SQL” char *sql = "SELECT " "ENTITY_GUID " \ "FROM ENTITY_TABLE WHERE " "ENTITY_OWNER_GUID IN (?)"; int rc = sqlite3_prepare(db, sql, -1, &stmt, 0); sqlite3_bind_text(stmt, 1, (const char *) char_sql_IN, -1, SQLITE_STATIC); 中的ch

如何将文本绑定到`语句中的“SQL”

char *sql = "SELECT "
"ENTITY_GUID " \
"FROM ENTITY_TABLE WHERE "
"ENTITY_OWNER_GUID IN (?)";

int rc = sqlite3_prepare(db, sql, -1, &stmt, 0);

sqlite3_bind_text(stmt, 1, (const char *) char_sql_IN, -1, SQLITE_STATIC);  
中的char\u sql\u将
'26'、'42'、'43'
打印到控制台

即:

char *sql = "SELECT "
"ENTITY_GUID " \
"FROM ENTITY_TABLE WHERE "
"ENTITY_OWNER_GUID IN (?)";

int rc = sqlite3_prepare(db, sql, -1, &stmt, 0);

sqlite3_bind_text(stmt, 1, (const char *) char_sql_IN, -1, SQLITE_STATIC);

if (rc != SQLITE_OK) {
    fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db));
}

rc = sqlite3_step(stmt);

while (rc == SQLITE_ROW) {
    long entityGUID = sqlite3_column_int(stmt, 0);
    rc = sqlite3_step(stmt);
}

谢谢大家。

@TimBiegeleisen抱歉。这是带有JNI的Android。您事先知道参数的数量,或者至少知道可能存在的最大数量吗?顺便说一下,在任何语言/数据库中,这都是一个棘手的问题。@TimBiegeleisen是的,我知道<代码>'26'、'42'、'43'
列表翻译而来,然后通过JNI@TimBiegeleisen很抱歉这是带有JNI的Android。您事先知道参数的数量,或者至少知道可能存在的最大数量吗?顺便说一下,在任何语言/数据库中,这都是一个棘手的问题。@TimBiegeleisen是的,我知道<代码>'26'、'42'、'43'
列表翻译过来,然后通过JNI作为
Java字符串
传递到
C