Подключение SQLite3 к Ipad - PullRequest
       0

Подключение SQLite3 к Ipad

0 голосов
/ 07 декабря 2011

Я делаю приложение для входа в систему и пароль, где я хочу подключить это к БД SQLite, я скопировал инфраструктуру SQLite, импортировал ее и добавил файл db в папку поддержки, но он не работает, пожалуйста, проверьте по коду ниже, и помоги мне

-(IBAction)homePage: (id)sender
{
        post =[NSString stringWithFormat:@"loginname=%@ & password=%@",loginName.text,password.text];   
        NSString *hostStr = @"login.db";
       //hostStr = [hostStr stringByAppendingString:post];
        NSArray *doumentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentDir=[doumentsPath objectAtIndex:0];
        path =[documentDir stringByAppendingPathComponent:hostStr];

        if([path isEqualToString:post]){

        homePage *hvc = [[homePage alloc]initWithNibName: nil bundle: nil];
            hvc.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;
            [self presentModalViewController:hvc animated: YES];
}

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

Ответы [ 2 ]

0 голосов
/ 07 декабря 2011
         sqlite3 *yourDB;                      // .h declarations
         NSString   *databasePath;
         const char *dbpath;


         call this method at start of viewDidLoad


        - (void) initDatabase
      { 
         BOOL success; 
             NSFileManager *fileManager = [NSFileManager defaultManager]; 
             NSError *error; 
             NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                   NSUserDomainMask, YES); 
             NSString *documentsDirectory = [paths objectAtIndex:0]; 
             NSString *writableDBPath = [documentsDirectory 
                                stringByAppendingPathComponent:@“yourDB.sqlite"]; 
             success = [fileManager fileExistsAtPath:writableDBPath];

         dbpath = [writableDBPath UTF8String];

             // NSLog(@"path : %@", writableDBPath); 
              if (success) return;

             // The writable database does not exist, so copy the default to the 
             // appropriate location. 
              NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath]
                      stringByAppendingPathComponent:@"yourDB.sqlite"];

         success = [fileManager fileExistsAtPath:defaultDBPath];
          //if(success) return;

             success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath 
                         error:&error]; 
             if (!success)  
            { 
             NSAssert1(0, @"Failed to create writable database file with message '%@'.”,
                     [error localizedDescription]); 
            } 

        dbpath = [writableDBPath UTF8String];

             NSLog(@"path : %@", writableDBPath);
       }
0 голосов
/ 07 декабря 2011

Я думаю, проблема здесь ...

 if([path isEqualToString:post])  // 'post' is your username & password

Это должно быть так

 if([path isEqualToString: hostStr])

Попробуй ..

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