Iphone 插入原始数据时,在下一个索引上插入空数据
这是将数据插入数据库的代码。当我使用select查询检查数据库时,它显示的数据如下所示 谁能告诉我哪里出了错Iphone 插入原始数据时,在下一个索引上插入空数据,iphone,Iphone,这是将数据插入数据库的代码。当我使用select查询检查数据库时,它显示的数据如下所示 谁能告诉我哪里出了错 谢谢。尝试使用pageid method变量而不是dict,可能dict是错误的。另一方面,您可以为id插入 -(IBAction)btnAddToFavorite:(id)sender { [self insertDataToFavourites:[[tempDict objectForKey:@"pageid"]intValue]:[tempDict objectForKe
谢谢。尝试使用pageid method变量而不是dict,可能dict是错误的。另一方面,您可以为id插入
-(IBAction)btnAddToFavorite:(id)sender
{
[self insertDataToFavourites:[[tempDict objectForKey:@"pageid"]intValue]:[tempDict objectForKey:@"desc"]];
}
-(void)insertDataToFavourites:(int)pageid :(NSString *)description
{
sqlite3_stmt *insertStatement = nil;
NSString *sql;
int returnvalue;
sql = [NSString stringWithFormat:@"insert into AddFavorite (Id,Description) VALUES (?,?)"];
returnvalue = sqlite3_prepare_v2(database, [sql UTF8String], -1, &insertStatement, NULL);
NSLog(@"\nFavorite ID is:--> %d &\nDescription is:--> %@",[[tempDict valueForKey:@"pageid"] intValue] ,[tempDict valueForKey:@"desc"]);
if (returnvalue == 1){
NSAssert1 (0,@"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
}
sqlite3_bind_text(insertStatement, 1,[[tempDict objectForKey:@"pageid"] UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(insertStatement, 2,[[tempDict objectForKey:@"desc"] UTF8String], -1, SQLITE_TRANSIENT);
if (SQLITE_DONE != sqlite3_step(insertStatement)){
NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
}
else{
sqlite3_reset(insertStatement);
}
sqlite3_finalize(insertStatement);
}
我认为这可能是不对的
对于测试用例,您可以将SQLItemManager作为sqlstatement插入
插入AddFavorite(Id,Description)值(1,'TestDescription')
检查语句是否正确
如果数据库中的id是int,我将使用此代码插入您的值
sqlite3_bind_text(insertStatement, 1,[[tempDict objectForKey:@"pageid"] UTF8String], -1, SQLITE_TRANSIENT);
尝试使用pageid方法变量而不是dict,可能dict是错误的。另一方面,您可以为id插入
-(IBAction)btnAddToFavorite:(id)sender
{
[self insertDataToFavourites:[[tempDict objectForKey:@"pageid"]intValue]:[tempDict objectForKey:@"desc"]];
}
-(void)insertDataToFavourites:(int)pageid :(NSString *)description
{
sqlite3_stmt *insertStatement = nil;
NSString *sql;
int returnvalue;
sql = [NSString stringWithFormat:@"insert into AddFavorite (Id,Description) VALUES (?,?)"];
returnvalue = sqlite3_prepare_v2(database, [sql UTF8String], -1, &insertStatement, NULL);
NSLog(@"\nFavorite ID is:--> %d &\nDescription is:--> %@",[[tempDict valueForKey:@"pageid"] intValue] ,[tempDict valueForKey:@"desc"]);
if (returnvalue == 1){
NSAssert1 (0,@"Error: failed to prepare statement with message '%s'.", sqlite3_errmsg(database));
}
sqlite3_bind_text(insertStatement, 1,[[tempDict objectForKey:@"pageid"] UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(insertStatement, 2,[[tempDict objectForKey:@"desc"] UTF8String], -1, SQLITE_TRANSIENT);
if (SQLITE_DONE != sqlite3_step(insertStatement)){
NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
}
else{
sqlite3_reset(insertStatement);
}
sqlite3_finalize(insertStatement);
}
我认为这可能是不对的
对于测试用例,您可以将SQLItemManager作为sqlstatement插入
插入AddFavorite(Id,Description)值(1,'TestDescription')
检查语句是否正确
如果数据库中的id是int,我将使用此代码插入您的值
sqlite3_bind_text(insertStatement, 1,[[tempDict objectForKey:@"pageid"] UTF8String], -1, SQLITE_TRANSIENT);
您可以在插入前检查,如果任何值为null,您可以传递@“”,它可能会工作。在插入数据之前,表是完全空白的…我们也可以在这里看到…如果最初有任何null值,则第一行应该有null值。在每次新插入数据时,为下一个索引提供null值…您可以在插入之前检查,如果任何值为null,您可以传递@“”,它可能会工作。在插入数据之前,表是完全空白的…我们也可以在这里看到…如果最初有任何null值,那么第一行应该有null值。在每次新插入数据时,都会给下一个索引提供null值。。。