0

コードバ 2.1.0 フレームワークを使用して IOS でアプリを作成しています。私はdbを作成するために次のことをしています:

NSFileManager *fileManager = [NSFileManager defaultManager];
//NSError *error;  
if (![fileManager fileExistsAtPath:self.databaseFile]) {

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    self.databaseFile = [documentsDirectory stringByAppendingPathComponent:@"klb_db.sqlite"];

    [self createConfigTable];
} else {
    NSLog(@"fail to create database");
}


// to create config table
-(void) createConfigTable{

    NSString *createStmt = @"CREATE TABLE IF NOT EXISTS config (id INTEGER PRIMARY KEY AUTOINCREMENT,key text,value text);";

    // Open the database and or create it
    if (sqlite3_open_v2([self.databaseFile UTF8String], &databaseHandle, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE , NULL) == SQLITE_OK)
    {
        NSLog(@"database created");

        const char *sqlStatement = [createStmt UTF8String];

        char *error;

        if (sqlite3_exec(databaseHandle, sqlStatement, NULL, NULL, &error) == SQLITE_OK)
        {
            NSLog(@"Config table created.");
        }
    }
    else{

        sqlite3_close(databaseHandle);
    }

    sqlite3_close(databaseHandle);

    return;
}

次に、cordova index.html で、上記で作成したデータベースで次のようにクエリを実行しようとしています。

dbName = 'Database';

//to insert username, password into db
db = window.openDatabase(dbName, "1.0", gAppConfig.dbMessage, 200000);

db.transaction(querySelectConfig, errorQuery);


//Get Messages from the DB
            function querySelectConfig(tx) {

                alert('select config')
                tx.executeSql('SELECT * FROM "'+gAppConfig.configTable+'";', [], querySelectSuccess, errorQuery);
            }

関数 querySelectConfig() で、クエリが失敗しています。クエリが失敗する理由。Objective-C のデータベース作成プロセスに欠陥がありますか。次に、klb_db.sqlite ファイルのユーティリティは何ですか。新しいデータベースを作成するとき、空白にする必要がありますか? また、.sqlite ファイルはどのように作成されますか。

4

1 に答える 1

0

コアデータを使用すると、時間を節約できます

http://developer.apple.com/library/mac/documentation/cocoa/Conceptual/CoreData/cdProgrammingGuide.html

于 2013-04-12T12:00:05.507 に答える