こんにちは、sqlitedb を使用するアプリを開発しています。いくつかの例を読み、アプリを作成しようとしました。挿入したいテーブルには3つの列があります。ID INTEGER PRIMARY KEY AUTOINCREMENT、NAME TEXT、DURATION REAL、TIME REAL 私が読んだ例に基づいて以下のコードを書きます。しかし、私は常にレコードを追加できませんでした。PS: db の作成をテストしましたが、問題ありません。このチュートリアルを使用しまし たが、別のアプリケーションでは問題ありませんでした。しかし、ここでは機能しません
NSTimeInterval endTime = [[NSDate date] timeIntervalSinceReferenceDate];
double elapsedTime = endTime-startcache;
NSString *my=[NSString stringWithFormat:@"%f",elapsedTime];
TextField1.text=my;
// saving in database
NSString * durationstring=[NSString stringWithFormat:@"%f",elapsedTime];
NSString * timestring=[NSString stringWithFormat:@"%f",endTime];
sqlite3_stmt *statement;
const char *dbpath = [_databasePath UTF8String];
if (sqlite3_open(dbpath, &_activityDB) == SQLITE_OK)
{
NSString *insertSQL = [NSString stringWithFormat:
@"INSERT INTO ACTIVITYTABLE (name, duration,time ) VALUES (\"%@\", \"%@\", \"%@\")",
activityname, durationstring,timestring];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(_activityDB, insert_stmt,
-1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE)
{
self.status.text = @"record added";
} else {
self.status.text = @"Failed to add record";
}
sqlite3_finalize(statement);
sqlite3_close(_activityDB);
}