1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
-(NSString *)exportDescendantsOf:(NSInteger)aPrimaryKey withSex:(NSString*)aSex inText:(NSString*)text {
GeneaAppDelegate *appDelegate = (GeneaAppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *tempFamText = [NSString string];
NSString *tempSpouseChildText = [NSString string];
A sqlite3_reset(male_partners_statement);
if (male_partners_statement == nil) {
static char *male_partnersSql = "SELECT relation_pk, female_partner_id FROM relation WHERE male_partner_id = ? ORDER BY position";
if (sqlite3_prepare_v2(appDelegate.database, male_partnersSql, -1, &male_partners_statement, NULL) != SQLITE_OK)
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(appDelegate.database));
}
sqlite3_bind_int(male_partners_statement, 1, aPrimaryKey);
NSLog(@"Descendants of : %d",aPrimaryKey);
while (sqlite3_step(male_partners_statement) == SQLITE_ROW) {
int relation_pk = sqlite3_column_int(male_partners_statement, 0);
int female_partner_id = sqlite3_column_int(male_partners_statement, 1);
...
//Export the childs
B sqlite3_reset(children_statement);
if (children_statement == nil) {
NSLog(@"children_statement is nil");
static char *childrenSql = "SELECT pk, firstname, lastname, sex FROM person WHERE father_id=? AND mother_id=? ORDER BY position";
if (sqlite3_prepare_v2(appDelegate.database, childrenSql, -1, &children_statement, NULL) != SQLITE_OK)
NSAssert1(0, @"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(appDelegate.database))
}
sqlite3_bind_int(children_statement, 1, aPrimaryKey);
sqlite3_bind_int(children_statement, 2, female_partner_id);
NSLog(@"Binding %d %d to children_statement", aPrimaryKey,female_partner_id);
while (sqlite3_step(children_statement) == SQLITE_ROW) {
NSLog(@"Going through children of %d %d",aPrimaryKey,female_partner_id);
int childPrimaryKey = sqlite3_column_int(children_statement, 0);
NSLog(@"Child of %d %d primaryKey : %d", aPrimaryKey,female_partner_id,childPrimaryKey);
...
}
NSLog(@"No more kids to treat");
}
} |
Partager