Я хочу, чтобы выполнить запрос вставки запрос работает нормально, когда мы называем это InsUpdateDelData
его возвращение ложным, то данные не вставлялиКак добавить данные в базу данных с помощью SQLite Manager
- (IBAction)addToCart:(id)sender {
AppDelegate *obj = (AppDelegate *)[[UIApplication sharedApplication]delegate] ;
NSString *insert = @"[email protected]" ;
NSString *insertSQL = [NSString stringWithFormat:
@"INSERT INTO cart_user(user_id,product_price,product_type,categories_type,product_images,description) values('%@','%@','%@','%@','%@','%@')",insert,handBegsImages.product_price,handBegsImages.product_tagline,handbegCategoriess.handbegid,handBegsImages.main_image,handBegsImages.product_description];
BOOL abc = [obj InsUpdateDelData:insertSQL];
NSLog(@"print the value of abc %@=", abc) ;
if (abc == TRUE) {
NSLog(@"@ Data was Inserted");
}
else{
[Utility showAlertView:@"Plz try again message" message:@"Again" viewcontroller:self];
}
}
-(BOOL)InsUpdateDelData:(NSString*)SqlStr
{
if([SqlStr isEqual:@""])
return NO;
BOOL RetrunValue;
RetrunValue = NO;
const char *sql = [SqlStr cStringUsingEncoding:NSUTF8StringEncoding];
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(database, sql, -1, &stmt, nil) == SQLITE_OK)
RetrunValue = YES;
if(RetrunValue == YES)
{
if(sqlite3_step(stmt) != SQLITE_DONE) {
}
sqlite3_finalize(stmt);
}
return RetrunValue;
}
отчет не является ошибкой –
NSLog (@ "напечатает значение sqlite3 % s = ", sqlite3_errmsg (база данных)); моя проблема была решена для этого tnx –
Очень хорошо. Кстати, вы можете опасаться создания SQL-инструкций, подобных этому. Если в любом из этих строковых значений произошел апостроф, ваш SQL завершится с ошибкой. Лучше использовать '?' Placeholders, а затем привязывать значения к ним. Если вы сделаете это правильно, ваш код быстро станет громоздким, поэтому вы можете рассмотреть что-то вроде [FMDB] (https://github.com/ccgus/fmdb), который имеет такие функции, как 'executeUpdate' и' executeQuery', которые принимают массивы но выполняйте необходимые вызовы 'sqlite3_bind_text' для вас. – Rob