-2

今まで、IOS のテーブルにデータを挿入するために配列を使用していましたが、今はデータベース (sqlite) を使用したいと考えています。そのデータベースから、データをフェッチしてそのデータをテーブルに挿入する必要があります。私を助けてください。

前もって感謝します。

4

1 に答える 1

5

sqlite の初心者で、学習したい場合は、以下のリンクにアクセスしてください。

1) IOS Sqlite3 および db のデータベース

2) http://www.apptite.be/tutorial_ios_sqlite.php

3) http://maniacdev.com/2011/11/tutorial-easy-ios-databases-with-sqlite-and-fmdb

また、FMDB (sqlite のラッパー) を学ぶことをお勧めします。

編集:

学生のデータを保存するデータベースがあり、まず最初にそれらのデータを対応する配列にフェッチするとします。

sqlite3_stmt *statement;

NSString *selectSQL = @"SELECT * FROM student";

const char *insert_stmt = [selectSQL UTF8String];
if(sqlite3_prepare_v2(studentData, insert_stmt,  -1, &statement, NULL) == SQLITE_OK)
{
    while(sqlite3_step(statement) == SQLITE_ROW)
    {

        [arrFirstName addObject:[NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 0)]];

        [arrMiddleName addObject:[NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 1)]];

        [arrLastName addObject:[NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 2)]];

        [arrContactNo addObject:[NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 3)]];

    }

}
[tblStudent reloadData];
}

「tblStudent」という名前のテーブルがあるとします。データ ソース メソッドは次のようになります。

  -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {
      return 1;
  }

  -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  {
        return [arrFirstName count];
  }

  -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
         UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"myCell"];
         cell.textLabel.text = [NSString stringWithFormat:@"%@ %@",[arrFirstName  objectAtIndex:indexPath.row],[arrLastName objectAtIndex:indexPath.row]];
         cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
         return cell;
  }
于 2013-10-24T10:06:30.190 に答える