title: how to save the data in sqlite3 in iphone
body: <p>i am trying to create the database using sqlite manager.But the values are not stored in database.If i click the save button the Alert Message will be displayed on like this "Data Insertion Failed".i am trying to rectify these problem.In this case i visit so many tutorials.But i cant rectify my problem.Yesterday onwards i am totally blocked to this issue.please give me any idea or suggestion how to save the data.Thanks for all to visit the question.T.C.</p>
  
  <p>DataBase.m</p>
  
  <p>// creation of DATABASE</p>
  
  <pre><code>-(BOOL)createDB
  
  {
  
  NSString *docsDir;
  
  NSArray *dirPaths;
  
  
  // Get the document directory
  
  
  dirPaths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
  
  
  docsDir=dirPaths[0];
  
  
  // Build the path to the database file
  
  
  databasePath=[[NSString alloc]initWithString:[docsDir stringByAppendingPathComponent:@"Feedback.db"]];
  
  
  BOOL isSuccess=YES;
  
  
  NSFileManager *fileManager=[NSFileManager defaultManager];
  
  
  if([fileManager fileExistsAtPath:databasePath]==0)
  
  
  {
  
  
  const char *dbpath=[databasePath UTF8String];
  
  
  if(sqlite3_open(dbpath, &amp;database)==SQLITE_OK)
  
  
  {
  
  
  char *errMsg;
  
  
  const char *sql_stmt= "create table if not exists Feeback details (Traineeid integer, Trainername text,Traineename text,Rating float)";
  
  
  if(sqlite3_exec(database, sql_stmt, NULL, NULL, &amp;errMsg)!=SQLITE_OK)
  
  
  {
  
  
  isSuccess=NO;
  
  
   NSLog(@"Failed to create table");
  
  
  }
  
  
  sqlite3_close(database);
  
  
  return isSuccess;
  
  
  }
  
  
  else
  
  
  {
  
  
  isSuccess=NO;
  
  
  NSLog(@"Failed to open/Create database");
  
  
  }
  
  
  }
  
  return isSuccess;
  
  }
  
  // save data in the Database
  
  -(BOOL) saveData:(NSString *)Traineeid Trainername:(NSString *)Trainername Traineename:(NSString *)Traineename Rating:(NSString *)Rating;
  
  
  {
  
  const char *dbpath=[databasePath UTF8String];
  
  
  if(sqlite3_open(dbpath, &amp;database)==SQLITE_OK)
  
  
  {
  
  
  NSString *insertSQL=[NSString stringWithFormat:@"insert into Feedbackdetails(Traineeid,Trainername,Traineename,Rating) values(\"%d\",\"%@\", \"%@\", \"%@\")",[Traineeid integerValue],Trainername,Traineename,Rating];
  
  
  const char *insert_stmt=[insertSQL UTF8String];
  
  
  sqlite3_prepare_v2(database, insert_stmt, -1, &amp;statement, NULL);
  
  
  if(sqlite3_step(statement)==SQLITE_DONE)
  
  
  {
  
  return YES;
  
  }
  
  else
  
  {
  
  return NO;
  
  }
  
  sqlite3_reset(statement);
  
  
  }
  
  return NO;
  
  }
  
  
  FeebBackForm.m
  
  -(IBAction)saveData:(id)sender
  
  {
  
  BOOL success=NO;
  
  NSString *alertString = @"Data Insertion failed";
  
  if (Traineeid.text.length&gt;0 &amp;&amp;Trainername.text.length&gt;0 &amp;&amp;Traineename.text.length&gt;0 &amp;&amp;Rating.text.length&gt;0)
  
  {
  
  success=[[DBManager getSharedInstance]saveData:Traineeid.text Trainername:Trainername.text Traineename:Traineename.text Rating:Rating.text];
  
  }
  
  else
  
  {
  
  alertString = @"Enter all fields";
  
  }
  
  if (success == NO) 
  
  {
  
  UIAlertView *alert = [[UIAlertView alloc]initWithTitle:alertString message:nil
  delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
  
  
  [alert show];
  
  
  }
  
  }
  </code></pre>