Вставить данные в таблицу sqlite динамически не работает - PullRequest
0 голосов
/ 18 февраля 2012

Я хочу вставить данные в логин таблицы SQLite при нажатии кнопки, проблема в том, что когда я нажимаю кнопку регистрации, данные сохраняются в переменной, но не в таблице базы данных, и при попытке статической передачизначение, в которое будут вставлены данные, но когда я пытаюсь динамически хранить данные, то не работает.

Вот мой код.Пожалуйста, пройдите через это и помогите решить эту проблему.

NSString *path; 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask ,YES);

path = [paths objectAtIndex:0];

dbName = [[NSString alloc] initWithString:[path stringByAppendingPathComponent:@"mnc.sqlite"]];

NSFileManager *fileMgr = [NSFileManager defaultManager];

if([fileMgr fileExistsAtPath:dbName]== NO)
{
  const char *dbPath = [dbName UTF8String];

  if (sqlite3_open(dbPath,&connectionDB)==SQLITE_OK) 
  {
    char *errMsg;
    const char *sql_stmt = " create table if not exists login(user_name text ,password text)";

    if (sqlite3_exec(connectionDB,sql_stmt,NULL,NULL,&errMsg))
    {
      printf("\n fail to create table ");
    }

    sqlite3_close(connectionDB);
  }
  else 
  {
    NSLog(@"fail to open create database");
  }
}

[fileMgr release];

if(sqlite3_prepare_v2(connectionDB, query ,-1, &statment,NULL) == SQLITE_OK)
{
  sqlite3_bind_text(statment,1,"cc", -1,SQLITE_TRANSIENT);
  sqlite3_bind_text(statment,2,"sa",-1,SQLITE_TRANSIENT);
  NSLog(@"aadd");
}

if (sqlite3_step(statment)== SQLITE_DONE)
{
  NSLog(@"This should be real error checking!");
  sqlite3_finalize(statment);
}  

1 Ответ

0 голосов
/ 18 февраля 2012

С sqlite работать довольно сложно, поэтому я использую fmdb , это упростит работу.

Это оболочка Objective-C для SQLite

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...