OGeek|极客世界-中国程序员成长平台

标题: iphone - 在插入 iphone 的 sqlite 数据库之前检查数据是否存在 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 10:31
标题: iphone - 在插入 iphone 的 sqlite 数据库之前检查数据是否存在

我想将数据插入到 sqlite 中。在插入时,我的代码中出现了重复项。我看到了与之相关的问题,我对此很清楚。任何人都可以帮助我使用此代码检查数据是否存在在插入数据库之前...

- (IBAction)AddtoFavouritesid)sender {
    sqlite3 *database;
    dbName=@"dataTable.sqlite";
    NSArray *documentpath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentdir=[documentpath objectAtIndex:0];
    dbPath=[documentdir stringByAppendingPathComponent:dbName];
    if(sqlite3_open([dbPath UTF8String], &database)==SQLITE_OK){
//I want to check data it exists already into database....
       NSString *sqlStatement=[NSString stringWithFormat"insert into Persons(PersonName,CompanyName,ImgUrl)values(\"%@\",\"%@\",\"%@\")",model.personName,model.companyName,model.imgurl];
            const char *insertSQL=[sqlStatement UTF8String];
        char *errMsg;
        sqlite3_exec(database, insertSQL, NULL,NULL,&errMsg);
        NSLog(@"Add to Favourites");        
    }
}



Best Answer-推荐答案


首先对任何列使用选择查询:

    const char *sqlStatement = "SELECT PersonName FROM Persons";

我猜你应该将 sqlStatement 分配给compiledStatement

            while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
            // Read the data from the result row
            NSString *aName = [NSString stringWithUTF8Stringchar *)sqlite3_column_text(compiledStatement, 1)];


            [dataArray addObject:aName];
            NSLog(@"%@",aName);
 }

检查一下

关于iphone - 在插入 iphone 的 sqlite 数据库之前检查数据是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8723064/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4