• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Umkreissuche Problem -> App crasht bei Abfrage

skydiver12481

Granny Smith
Registriert
24.02.11
Beiträge
14
Hallo Leute ich benötige dringend Hilfe!

Ich habe eine Umkreissuche in einer App... Leider crasht diese bei der SQLite - Abfrage und ich finde den Fehler nicht...

Als PLZ-DB habe ich die geodb implementiert...

Hier mal mein Code

Code:
	NSLog(@"plz umkreis berechnen");
	
	
	float PIx = 3.141592653589793;
	float R = 6368;
	double lat, lon;
	lat = [[lolat objectAtIndex:0]floatValue];
	lon = [[lolat objectAtIndex:1]floatValue];
	double lati, longi;
	lati = lat * PIx / 180;
	longi = lon * PIx / 180;
	NSLog(@"%d %d", lati, longi);
	//  
	//
	
	
	sqlite3_stmt *ukstatement = nil;
	
	NSString * plzQueryString = [NSString stringWithFormat:@"select plz (%f * sqrt(2*(1-cos(RADIANS(lat))*cos(%d)*(sin(RADIANS(lon))*sin(%d)+cos(RADIANS(lon))*cos(%d))-sin(RADIANS(lat))*sin(%d)))) AS DISTANCE FROM geo_data WHERE %f * sqrt(2*(1-cos(RADIANS(lat))*cos(%d)*(sin(RADIANS(lon))*sin(%d)+cos(RADIANS(lon))*cos(%d))-sin(RADIANS(lat))*sin(%d)))<=5 ORDER BY DISTANCE",R,lati,longi,longi,lati,R,lati,longi,longi, lati];
	NSLog(@"%@",plzQueryString);
	
	if (sqlite3_prepare_v2(db,[plzQueryString UTF8String],-1,&ukstatement,NULL)!=SQLITE_OK)NSAssert1(0,@"Error preparing statement",sqlite3_errmsg(db));
	else{
		while (sqlite3_step(ukstatement)==SQLITE_ROW){
			//NSString *	Data = [NSString stringWithUTF8String:(char*)sqlite3_column_text(ukstatement, 0)];
			
			//NSLog(@"plz %@", Data);
			
			
		}
		sqlite3_finalize(ukstatement);
	}

	
    return self;
}

hier die Ausgabe aus dem debugger:


select plz (6368.000000 * sqrt(2*(1-cos(RADIANS(lat))*cos(-1658968064)*(sin(RADIANS(lon))*sin(1069736098)+cos(RADIANS(lon))*cos(1574645077))-sin(RADIANS(lat))*sin(1072355443)))) AS DISTANCE FROM geo_data WHERE 0.838922 * sqrt(2*(1-cos(RADIANS(lat))*cos(-1658968064)*(sin(RADIANS(lon))*sin(1069736098)+cos(RADIANS(lon))*cos(0))-sin(RADIANS(lat))*sin(1085857792)))<=5 ORDER BY DISTANCE
2011-06-13 13:08:43.159 xxx[5952:307] *** Assertion failure in -[ImmoParseOperation initWithData:delegate:], /Users/wolffre/Documents/xxx/Classes/ImmoParseOperation.m:142
2011-06-13 13:08:43.234 xxx[5952:307] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error preparing statement'


Es muss wohl an der Abfrage liegen, aber wo genau???

Was mache ich falsch?
 
Hat sich erledigt... Habe eine Lösung gefunden... Berechne nun das ganze in einer Schleife...