SQLITE crash when no data present in table
Posted
by johnblack45
on Stack Overflow
See other posts from Stack Overflow
or by johnblack45
Published on 2010-03-14T09:12:30Z
Indexed on
2010/03/14
9:15 UTC
Read the original article
Hit count: 201
Hey,
Im having a problem with my app that causes it to crash when no data is present in the table when using a table view. I have tested my code and it works fine as long as there is data present but i need it to work when there is no data present.
-(void)initialiseTableData
{
NSMutableArray *array = [[NSMutableArray alloc]init];
sqlite3 *db = [iCaddyAppDelegate getNewDBConnection]; sqlite3_stmt *statement; const char *sql = "select courseId, courseName, totalPar, totalyardage, holePars, holeYardages, holeStrokeIndexs from Course"; if(sqlite3_prepare_v2(db, sql, -1, &statement, NULL)!= SQLITE_OK) { NSAssert1(0,@"Error preparing statement",sqlite3_errmsg(db)); sqlite3_close(db); }
else {
while (sqlite3_step(statement) == SQLITE_ROW) { Course *temp = [[Course alloc]init];
temp.courseId = sqlite3_column_int(statement,0); temp.courseName = [NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement,1)]; temp.totalPar =sqlite3_column_int(statement,2); temp.totalYardage =sqlite3_column_int(statement,3);
NSString tempHolePars = [NSString stringWithFormat:@"%s",(char)sqlite3_column_text(statement,4)]; NSString tempHoleYardages = [NSString stringWithFormat:@"%s",(char)sqlite3_column_text(statement,5)]; NSString tempHoleStrokeIndexes = [NSString stringWithFormat:@"%s",(char)sqlite3_column_text(statement,6)];
NSArray *temp1 = [tempHolePars componentsSeparatedByString:@":"]; NSArray *temp2 = [tempHoleYardages componentsSeparatedByString:@":"]; NSArray *temp3 = [tempHoleStrokeIndexes componentsSeparatedByString:@":"];
for(int i = 0; i<=17; i++) { NSString *temp1String = [temp1 objectAtIndex:i]; [temp.holePars insertObject:temp1String atIndex:i];
NSString *temp2String = [temp2 objectAtIndex:i];
[temp.holeYardages insertObject:temp2String atIndex:i];
NSString *temp3String = [temp3 objectAtIndex:i];
[temp.holeStrokeIndexes insertObject:temp3String atIndex:i];
}
[array addObject:temp]; }
self.list = array; [self.table reloadData];
}
}
© Stack Overflow or respective owner