const char
님의 const char
문자열을 작성해야합니까?const char을 const char에 어떻게 연결합니까?
const char *sql = "";
const char *sqlBuild = "";
for(int i=0; i < ac_count; ++i) {
if (![sqlBuild isEqualToString:@""]) {
sqlBuild = [sqlBuild stringByAppendingString:
[NSString stringWithUTF8String:@" UNION "]];
}
sql = [[NSString stringWithFormat:
@"select sum(price) from tmp%d where due >= date() and due <= '%@'",
i, strDBDate] cStringUsingEncoding:NSUTF8StringEncoding];
sqlBuild = [sqlBuild stringByAppendingString:
[NSString stringWithUTF8String:sql]];
}
//execute sql
여러 시도가 있지만 올바르게 시도 할 수는 없습니다. 마지막 시도입니다. 당신이 볼 수 있듯이 나는 SQL 문을 구축하려고합니다.
어디로 잘못 가고 있습니까?
EDIT - NSString을 좋아하지 않는 sql lite를 사용하고 있습니다. 아래를 참조하십시오.
- (NSString*)getCategoryDesc:(int)pintCid {
NSString *ret = @"";
const char *sql = "select category from categories where cid = ?";
sqlite3 *database;
int result = sqlite3_open([[General getDBPath] UTF8String], &database);
if(result != SQLITE_OK)
{
DLog(@"Could not open db.");
}
sqlite3_stmt *statementTMP;
int error_code = sqlite3_prepare_v2(database, sql, -1, &statementTMP, NULL);
if(error_code == SQLITE_OK) {
sqlite3_bind_int(statementTMP, 1, pintCid);
if (sqlite3_step(statementTMP) == SQLITE_ROW) {
ret = [[NSString alloc] initWithUTF8String:
(char *)sqlite3_column_text(statementTMP, 1)];
}
}
sqlite3_finalize(statementTMP);
sqlite3_close(database);
return [ret autorelease];
}
내가 사용 SQLite는 좋아하지 않는다 [sqlStatement UTF8String]을 실행하여 C 스타일 문자열을 반환합니다. – Jules
을 좋아하지 않는다, 위의 참조는 NSString의 – Tommy