我对sqlite很新,我一直试图让sqlite输出到UIcomponents无济于事。我的语法很轻松。有什么指针吗? Thanx提前。 sql结构: | ROW |问题| ANSWER |选择1 |选择2 | CHOICE3 | CHOICE4 |
·H:
@property (nonatomic) NSInteger *q_num;
@property (nonatomic, copy) NSString *q;
@property (nonatomic, copy) NSString *c1;
@property (nonatomic, copy) NSString *c2;
@property (nonatomic, copy) NSString *c3;
@property (nonatomic, copy) NSString *c4;
的.m:
//Reopening path to DB for data acq
[self filePath];
int row = 1;
NSString *queryRow1 = [NSString stringWithFormat: @"SELECT * FROM QUESTIONBANK WHERE ROW = 1", row];
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(db, [queryRow1 UTF8String], -1, &statement, nil) == SQLITE_OK) {
q_num = (NSInteger *)sqlite3_column_int(statement, 0);
q = (NSString *)sqlite3_column_text(statement, 1);
//omit (statement, 2) since it is the answer
c1 = (NSString *)sqlite3_column_text(statement, 3);
c2 = (NSString *)sqlite3_column_text(statement, 4);
c3 = (NSString *)sqlite3_column_text(statement, 5);
c4 = (NSString *)sqlite3_column_text(statement, 6);
}
//Question no.1
//Label for no.1
scrollViewFrame = CGRectMake(10, 50, 20, 20);
UILabel *no1 = [[UILabel alloc]initWithFrame:scrollViewFrame];
no1.backgroundColor = [UIColor clearColor];
no1.font = [UIFont fontWithName:@"Helvetica" size:21];
NSString *questionNumber = [NSString stringWithFormat:@"%d", q_num];
no1.text = questionNumber;
[scrollView addSubview:no1];
[no1 release];
scrollViewFrame = CGRectMake(10, 50, 290, 20);
UILabel *question = [[UILabel alloc]initWithFrame:scrollViewFrame];
question.backgroundColor = [UIColor clearColor];
question.font = [UIFont fontWithName:@"Helvetica" size:21];
question.text = q;
[scrollView addSubview:question];
[question release];
scrollViewFrame = CGRectMake(10, 50, 290, 20);
UILabel *choice1 = [[UILabel alloc]initWithFrame:scrollViewFrame];
choice1.backgroundColor = [UIColor clearColor];
choice1.font = [UIFont fontWithName:@"Helvetica" size:21];
choice1.text = c1;
[scrollView addSubview:choice1];
[choice1 release];
scrollViewFrame = CGRectMake(10, 50, 290, 20);
UILabel *choice2 = [[UILabel alloc]initWithFrame:scrollViewFrame];
choice2.backgroundColor = [UIColor clearColor];
choice2.font = [UIFont fontWithName:@"Helvetica" size:21];
choice2.text = c2;
[scrollView addSubview:choice2];
[choice2 release];
scrollViewFrame = CGRectMake(10, 50, 290, 20);
UILabel *choice3 = [[UILabel alloc]initWithFrame:scrollViewFrame];
choice3.backgroundColor = [UIColor clearColor];
choice3.font = [UIFont fontWithName:@"Helvetica" size:21];
choice3.text = c3;
[scrollView addSubview:choice3];
[choice3 release];
scrollViewFrame = CGRectMake(10, 50, 290, 20);
UILabel *choice4 = [[UILabel alloc]initWithFrame:scrollViewFrame];
choice4.backgroundColor = [UIColor clearColor];
choice4.font = [UIFont fontWithName:@"Helvetica" size:21];
choice4.text = c4;
[scrollView addSubview:choice4];
[choice4 release];
我没有正确对齐UIComponents,你可以看到。只是想在我把它们安排在适当的地方之前看它是否有效。我也很感激批评我接近编码部分的方式。我再次感谢你的时间......
答案 0 :(得分:0)
我认为您应该按照(.m)文件中的代码修复您的代码
q_num = sqlite3_column_int(statement,0);
q = [NSString stringWithUTF8String:(char *)sqlite3_column_text (statement,1)];
使用带有UTF8的NSString格式。