다음 코드 (단지 관련 부분이 표시됩니다), 나는 오류 메시지가 얻을 것이다 실행하면" "순서가 호출 라이브러리 루틴을C++ : "순서가 호출 라이브러리 루틴
// Open database
char *lang = "Spanish";
char *DBName = "Spanish.db";
sqlite3 *db;
int sqlret;
sqlret = sqlite3_open(DBName, &db);
if (sqlret != SQLITE_OK) {
printf("Can't open database: %s \n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
// Create Table
sqlite3_stmt *stmt;
char *sqlcommand;
sqlcommand = new char;
Start(sqlcommand, lang);
printf(sqlcommand);
sqlret = sqlite3_prepare_v2(db, sqlcommand, -1, &stmt, NULL);
if (sqlret != SQLITE_OK) {
printf("Error: %s \n", sqlite3_errmsg(db));
sqlite3_close(db);
return 2;
}
합니다. 나는 내가 의미하는 것은 (정의 SqlCommand를 동적으로하지만, 정적하지 않는 경우, 그러나
void Start(char *command, char *language) {
sprintf(command,"CREATE TABLE IF NOT EXISTS 'Vocabulary' ("\
"'%s' TEXT NOT NULL, ", language);
strcat(command, "'Native Language' TEXT NOT NULL, " \
"'Times Asked' INT NOT NULL, " \
"'Times Correct' INT NOT NULL, " \
"'Times Wrong' INT NOT NULL);");
}
:
시작 (a, b)는 다음과 같은 기능입니다 문자 *하는 SqlCommand = "CREATE ...";), 도와 주시면 감사하겠습니다.
단지 니트릭 : 거기에 단지 C가 없다. –
@JoachimPileborg : 틀렸어. '새로운 것'(심지어 범인 인 것 같다) : –