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: 197

Filed under:
|
|
|

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

Related posts about iphone

Related posts about objective