一条记录未正确插入sqlite3数据库IOS7

时间:2014-03-18 11:42:21

标签: ios iphone objective-c database sqlite

在我的应用程序中,我使用sqlite3数据库,并且我将数据存储到数据库中。我有4个字段,如姓名,城市,电话和电子邮件ID问题是城市字段没有插入数据库而不是它在城市字段中获取电话号码数据。

      -(void) createTable: (NSString *) tableName
         withField1:(NSString *) field1
         withField2:(NSString *) field2
         withField3:(NSString *) field3
         withField4:(NSString *) field4;
     {
         char *err;
         NSString *sql =[NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS '%@' ('%@' TEXT, '%@' TEXT, '%@' TEXT, '%@' TEXT);",tableName,field1,field2,field3,field4];
      if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err) != SQLITE_OK) {
         sqlite3_close(db);
         NSAssert(0, @"Could not create table");
      }else{
         NSLog(@"Table Created");
      }  
     }

数据库创建。

    [self createTable:@"reg" withField1:@"nam" withField2:@"cit" withField3:@"ph" withField4:@"em"];

IBOutlets。

  

@synthesize name,citiy,phone,email;

将数据插入数据库。

  - (IBAction)save:(id)sender {
         NSString *namm = name.text;
         NSString *citt = citiy.text;
         NSString *phon = phone.text ;
         NSString *eml = email.text;

         NSString *sql = [NSString stringWithFormat:@"INSERT INTO reg ('nam','cit','ph','em') VALUES ('%@','%@','%@','%@')",namm,citt,phon,eml];

         char *err;
     if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err) != SQLITE_OK) {
        sqlite3_close(db);
        NSAssert(0, @"Could not create table");
     }else{
         NSLog(@"Table Updated");
     }
          name.text=@"";
          citiy.text=@"";
          phone.text=@"";
          email.text=@"";
     }

在上面我已检查过所有内容,但我无法找到我在此代码中出错的地方。请告诉我我在哪里做错了。它在我的数据库中显示如下。

感谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

你的代码似乎很好。虽然我猜测只是尝试打印城市和电话

     NSString *citt = citiy.text;
     NSString *phon = phone.text ;

如果您在此处收到错误的数据,请检查您的连接,您的连接可能会出错(IBOutlet)。