-1

Xcodeで問題に直面しています:sqliteデータベースにデータを追加するために何週間も試しましたが、多くの結果を得るためにGoogleをサーフィンしましたが、完全で明確なチュートリアルを提供できるものはありません。ほとんどは.dbを使用していますが、sqliteは使用していないと思われます。そのsqliteは挿入または更新できません、データを読み取ることができますか、それとも他の方法がありますか?

チュートリアルがある場合は、回答にチュートリアルのリンクを添付してください。ありがとうございました

4

2 に答える 2

1

sqliteは挿入または更新できず、データを読み取ることができると思われます

もちろん、SQLite にデータを挿入することもできます。これは他のものと同じデータベースですが、通常の場合のようにアプリケーションとは別のプロセスではなく、アプリケーションと同じプロセスに組み込まれているだけです (これはどちらも、SQLite が複数のクライアントに応答できないことを意味します。アプリケーション以外にコンピュータに何もインストールする必要はありません)。

INSERT のドキュメントは次のとおりです: http://www.sqlite.org/lang_insert.html

そして、ここに他の多くのチュートリアルがあります: http://www.techotopia.com/index.php/An_Example_SQLite_based_iPhone_Application

(実際、「sqlite xcode insert」をグーグルで検索しましたが、以前はこのチュートリアルを知りませんでした)

于 2012-09-04T09:06:21.973 に答える
0

Sunny iOS で sqlite にデータを挿入する方法を見つけるために私が取り組んでいるのは 2 日間です。最初にすべきことは、データを保存する場所を SQLite に指示することです。デフォルトでは、携帯電話でアプリを実行すると、sqlite ファイルが読み取り専用ルートに配置されます。それを解決するには、これを行う必要があります:

-(NSString *)GetDocumentDirectory{
    fileMgr = [NSFileManager defaultManager];
    homeDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    return homeDir;
}

次にデータを挿入したい場合は、どの fileMgr でNSFileManager、homeDir がNSString最初の行である SQLite ルートを与える必要がありsqlite3_openます。データの挿入を開始するかどうかを確認します。

-(void)InsertRecords:(NSMutableString *)myData{
NSString *dbPath = [self.GetDocumentDirectory stringByAppendingPathComponent:@"YOUR SQLITE FILE NAME.sqlite"];
    const char *dbpath = [dbPath UTF8String];
    sqlite3 *contactDB;
    sqlite3_stmt *statement;

    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
    {
        NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO tableName (tableColumn) VALUES (\"%@\")", myData];
const char *insert_stmt = [insertSQL UTF8String];

        sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL);
        if (sqlite3_step(statement) == SQLITE_DONE)
        {
            sqlite3_bind_text(statement, 1, [myData UTF8String], -1, SQLITE_TRANSIENT);
} 
else {
            NSLog(@"error");
}
        sqlite3_finalize(statement);
        sqlite3_close(contactDB);
    }
}

それが役に立てば幸い :)

于 2012-10-28T16:53:58.207 に答える