2012-06-15 58 views
2

每一件事都在代码中进行,但不是在SQLite数据库中保存数据。任何人都可以帮忙吗?不保存数据在SQLite中

找到我下面的代码:

-(IBAction)signin:(id)sender{ 
    NSLog(@"%@",perDas.string1); 
    nameString=[[NSString alloc]initWithString:perDas.string1]; 
    statusString=[[NSString alloc]initWithFormat:@"IN"]; 
    { 
     NSLog(@"passed"); 
     sqlite3_stmt *statement; 

     const char *dbpath = [perDas.databasePath UTF8String]; 

     if (sqlite3_open(dbpath, &database) == SQLITE_OK) 
     { 
      NSLog(@"pass"); 
      NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO status VALUES (\"%@\", \"%@\", datetime(), \"%@\")", nameString, statusString,empString]; 
      NSLog(@"%@",insertSQL); 
      const char *insert_stmt = [insertSQL UTF8String]; 

      sqlite3_prepare_v2(database, insert_stmt, -1, &statement, NULL); 

      sqlite3_finalize(statement); 
      sqlite3_close(database); 

    } 
    }} 

在此先感谢

回答

0

,你应该检查一下你的SQL语句是正确的:

if (sqlite3_prepare_v2(database, insert_stmt, -1, &statement, NULL) == SQLITE_OK) { 
... 
} 

,如果你只插入你行的一个子集请使用此INSERT语句表格:

INSERT INTO table_name (column1, column2, column3,...) 
VALUES (value1, value2, value3,...) 
+0

嗨Meccan ..我发现我的数据库中的表数据不刷新,但显示旧数据!!!!! wat做什么? – pradeepj

+0

是你的陈述正确吗? if(sqlite3_prepare_v2(database,insert_stmt,-1,&statement,NULL)== SQLITE_OK){...} – CarlJ

1
-(IBAction)signin:(id)sender{ 
    NSArray *dirPath; 
    NSString *docDir; 
    NSString *databasePath; 

    dirPath=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    docDir=[dirPath objectAtIndex:0]; 
    databasePath=[docDir stringByAppendingPathComponent:@"YourDB.sql"]; 

    const char *dbPath=[databasePath UTF8String]; 

    if(sqlite3_open(dbPath, &db)==SQLITE_OK) 
    { 

     NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO status VALUES (\"%@\", \"%@\", datetime(), \"%@\")", nameString, statusString,empString]; 


     const char *insertStmt=[insertSQL UTF8String]; 

     char *errmsg=nil; 

     if(sqlite3_exec(db, insertStmt, NULL, NULL, &errmsg)==SQLITE_OK) 
     { 
      NSLog(@"ADDED!"); 
     } 

     sqlite3_close(db); 
    } 
}