Hello Everyone
I am using following method for fetch data from DB in form of XML
and using XML parser
I calling this function in timer
It works fine
But some time application crashes due to this
Can any body tell me where i am wrong
Thanks
Monaj
I am using following method for fetch data from DB in form of XML
and using XML parser
I calling this function in timer
It works fine
But some time application crashes due to this
Can any body tell me where i am wrong
Code:
-(void)parseXMLFileForUserId : ( NSString * )rolecode userId:(int)userId switchCase:( int )SCase lasTtime:(NSString * )lasTtime{
[eventsList removeAllObjects];
NSString *query;
NSString *stringBoundary,*contentType,*ans=@"123";
NSURL *cgiUrl;
NSMutableURLRequest *postRequest;
NSError *error;
NSData *searchData;
NSHTTPURLResponse *response;
NSMutableData *postBody;
switch (SCase) {
case 1:
query=[NSString stringWithFormat:@"Select distinct c.* from Calendar_Events as c , Cal_Delegates as d, rcs_update as r where c. calendar_id =d.calendar_id and d.role_code='%@' AND r.updated_entity_id=c.event_id and r.updated_entity='CALENDAR' and r.update_time >= '%@' AND NOT r.owner_id =%d AND NOT r.update_action='DEL' order by event_begin",rolecode,lasTtime,userId];
break;
case 2:
query=[NSString stringWithFormat:@"Select distinct r.updated_entity_id as event_id from rcs_update as r where r.updated_entity='CALENDAR' AND r.update_action = 'DEL' AND r.update_time >= '%@' AND NOT r.owner_id =%d",lasTtime,userId];
break;
default:
break;
}
NSLog(@"parseXMLFileForQueryEvents : %@",query);
cgiUrl = [NSURL URLWithString:@"https://keyss.in/API.php"];
postRequest = [NSMutableURLRequest requestWithURL:cgiUrl];
[postRequest setHTTPMethod:@"POST"];
stringBoundary = [NSString stringWithString:@"0000RCSIMGUploadxxxxxx"];
contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", stringBoundary];
[postRequest addValue:contentType forHTTPHeaderField: @"Content-Type"];
//setting up the body:
postBody = [NSMutableData data];
[postBody appendData:[[NSString stringWithFormat:@"\r\n\r\n--%@\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"code\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithString:ans] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"action\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithString:@"query"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"devmode\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithString:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"devmode"]] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"q\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithString:query] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postRequest setHTTPBody:postBody];
searchData = [NSURLConnection sendSynchronousRequest:postRequest returningResponse:&response error:&error];
if([error code]!=0){
if(chkRetry<=3){
chkRetry++;
[self parseXMLFileForUserId:rolecode userId:userId switchCase:SCase lasTtime:lasTtime];
}
}
chkRetry=0;
eventsParser = [[NSXMLParser alloc] initWithData:searchData];
[eventsParser setDelegate:self];
[eventsParser setShouldResolveExternalEntities:YES];
BOOL success = [eventsParser parse];
[eventsParser release];
}
Thanks
Monaj