如何将tableview记录/行添加到sqlite数据库中

时间:2013-06-06 10:11:03

标签: iphone ios

这里我将记录静态插入数据库。 我的问题是我想将tableview中的recode添加到sqlitedatabase中。

-(IBAction)favouriteButtonClick
{
    NSArray *dirArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *docPath = [dirArray objectAtIndex:0];
    databasePath = [docPath stringByAppendingPathComponent:@"favouritecontact"];
    NSLog(@"Database path=>%@",databasePath);

    sqlite3_stmt *statement;
    const char *dbpath=[databasePath UTF8String];

    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
    {
        //NSString *insertSQL=[NSString stringWithFormat:@"INSERT INTO favourite(FirstName,LastName,FullName,HomeEmail,HomeEmail,WorkEmail,MobileNo)VALUES(\"%@\", \"%@\", \"%@\",\"%@\",\"%@\", \"%@\")",FirstName.text,LastName.text,FullName.text,HomeEmail.text,WorkEmail.text,MobileNo.text];

         NSString *insertSQL=[NSString stringWithFormat:@"INSERT INTO favourite(FirstName,LastName,FullName,HomeEmail,WorkEmail,MobileNo)VALUES('ketan','yadav','ketanyadav', 'ky@gmail.com','ketanyadav@gmail.com','1122334455')"];

         NSLog(@"insertsql%@",insertSQL);

         const char *insert_stmt=[insertSQL UTF8String];

         sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL);
         sqlite3_step(statement);
         sqlite3_finalize(statement);
         sqlite3_close(contactDB);
         NSLog(@"Record add to database");
    }
}

2 个答案:

答案 0 :(得分:0)

您可以在以下链接找到答案:

http://www.techotopia.com/index.php/An_Example_SQLite_based_iPhone_Application

在这个示例中,有一个TextField,因此它保存Textfield的数据,在您的情况下,您必须设置特定单元格的值[特定字段]

答案 1 :(得分:0)

当用户点击“收藏”按钮时,您似乎想要识别TableView中当前选定的行。是吗?

这将为您提供当前选择的索引:

NSIndexPath *selectedIndexPath = [tableView indexPathForSelectedRow];

如果TableView中只有一个部分,那么[selectedIndexPath row]将为您提供在联系人数组中查找的行号 - 或者您的数据源。