在我的视图控制器中,它显示了完整的细节。所以当用户点击添加按钮时,它会将数据插入到 sqlite。问题是如何检查之前是否插入了数据。
//this code is in viewDidLoad
NSString *sql = [NSString stringWithFormat:@"SELECT * FROM exhibitor"];
sqlite3_stmt *statement;
check= 0;
if(sqlite3_prepare_v2(db, [sql UTF8String], -1, &statement, nil) == SQLITE_OK){
while (sqlite3_step(statement)==SQLITE_ROW) {
char *exName2 = (char *) sqlite3_column_text(statement, 1);
NSString *exNameStr = [[NSString alloc] initWithUTF8String:exName2];
NSString *exhibName = [exhibitionArticle objectForKey:@"ex_name"];
if([exNameStr isEqualToString:(exhibName)] ){
check += 1;
}else{
check += 0;
}
}
NSLog(@"%d Result is", check);
} //this code checking my data is in sqlite or not
如果数据不在 sqlite 中,则按钮插入数据。
- (IBAction)addExhibitor:(id)sender {
NSLog(@"%d this is addExhibitor int", check);
if(check == 0){
NSDate *exhibAddDate = [NSDate date];
NSString *exhibName = [exhibitionArticle objectForKey:@"ex_name"];
NSString *exhibAbout = [exhibitionArticle objectForKey:@"ex_about"];
NSString *exhibBooth = [exhibitionArticle objectForKey:@"ex_booth"];
NSString *exhibAddress = [exhibitionArticle objectForKey:@"ex_address"];
NSString *exhibTelephone = [exhibitionArticle objectForKey:@"ex_telephone"];
NSString *exhibFax = [exhibitionArticle objectForKey:@"ex_fax"];
NSString *exhibWebSite = [exhibitionArticle objectForKey:@"ex_website"];
NSString *exhibEmail = [exhibitionArticle objectForKey:@"ex_email"];
NSString *sql1 = [NSString stringWithFormat:@"INSERT INTO exhibitor ('exhibAddDate', 'exhibName', 'exhibAbout', 'exhibBooth', 'exhibAddress', 'exhibTelephone', 'exhibFax', 'exhibWebSite', 'exhibEmail') VALUES('%@', '%@', '%@', '%@', '%@', '%@', '%@', '%@', '%@')", exhibAddDate, exhibName, exhibAbout, exhibBooth, exhibAddress, exhibTelephone, exhibFax, exhibWebSite, exhibEmail ];
char *err;
if(sqlite3_exec(db, [sql1 UTF8String], NULL, NULL, &err) != SQLITE_OK){
sqlite3_close(db);
NSAssert(0, @"Could not update table");
}else{
NSLog(@"Table Updated");
}
}
else{
// UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Same Data" message:@"Your data already there" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
// [alert show];
}
}