У меня есть сомнения, чтобы получить количество строк из одного столбца. Так как я могу получить только 5 строк из одного столбца случайным образом в sqlite3.
-(Question1*)readData1{
sqlite3_stmt *statement1;
int rowid1;
rowid1=[self getRowId1];
tempQuery=[@"select * from iapp_tbl_questions where id= " stringByAppendingString:[NSString stringWithFormat:@"%d",rowid1]];
const char *query2=[tempQuery UTF8String];
if (sqlite3_prepare_v2(database,query2,-1,&statement1,NULL)==SQLITE_OK) {
while (sqlite3_step(statement1)==SQLITE_ROW) {
vt=[[[Question1 alloc]init]autorelease];
vt.question=[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement1,3)];
NSLog(@"arr1 is %@",[vt.question description]);
}
}
return vt;
-(int)getRowId1{
sqlite3_stmt *statement1;
static int randomRowNum1;
BOOL isAvalible =NO;
if(table==1){
query="SELECT * FROM 'iapp_tbl_questions' WHERE casenum = 16 order by RANDOM() Limit 1";
}
else if(table==2){
query="SELECT * FROM 'iapp_tbl_questions' WHERE casenum = 15 order by RANDOM() Limit 1";
}
if (sqlite3_prepare_v2(database,query,-1,&statement1,NULL)==SQLITE_OK) {
while (sqlite3_step(statement1)==SQLITE_ROW) {
randomRowNum1=sqlite3_column_int(statement1,0);
break;
}
}
for (int i=0;i<idStoreArray1.count;i++){
NSString *rowidString1 =[idStoreArray1 objectAtIndex:i];
if(rowidString1.intValue==randomRowNum1) {
NSLog(@"rowidString1%@", idStoreArray1.count);
//isAvalible=YES;
//break;
}
}
if (!isAvalible) {
[idStoreArray1 addObject:[NSString stringWithFormat:@"%d",randomRowNum1]];
NSLog(@"array count1----%@",idStoreArray1);
NSLog(@"%d",idStoreArray1.count);
return randomRowNum1;
}
else if(idStoreArray1.count < 6000){
[self getRowId1];
return randomRowNum1;
}
return 0;
Пожалуйста, дайте мне знать, как я могу получить только 5 строк из столбца в sqlite.
Заранее спасибо.