Ich möchte einige Daten in mydatabase.sqlite einfügen, aber ich habe ein Problem. Es gibt keine Fehlermeldung, wenn ich Daten einfüge, aber dann öffne ich die Datenbank und kann keine Daten sehen. Es sind keine Daten vorhanden.
Dies ist die Methode addCoffee in MyClass:
if(addStmt == nil) {
const char *sql = "insert into records(Date, Latitude, Longitude) Values(?, ?, ?)";
if(sqlite3_prepare_v2(database, sql, -1, &addStmt, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating add statement. '%s'", sqlite3_errmsg(database));
}
sqlite3_bind_text(addStmt, 1, [Date UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_double(addStmt, 2, [Latitude doubleValue] );
sqlite3_bind_double(addStmt, 3, [Longitude doubleValue] );
if(SQLITE_DONE != sqlite3_step(addStmt))
NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
else
//SQLite provides a method to get the last primary key inserted by using sqlite3_last_insert_rowid
recordID = sqlite3_last_insert_rowid(database);
//Reset the add statement.
sqlite3_reset(addStmt);
Daten senden:
iDailyAppDelegate *appDelegate = (iDailyAppDelegate *)[[UIApplication sharedApplication] delegate];
//Create a MyClass Object.
MyClass *coffeeObj = [[MyClass alloc] initWithPrimaryKey:0];
coffeeObj.Date = dateInString;
NSDecimalNumber *temp = [[NSDecimalNumber alloc] initWithString:first];
coffeeObj.Latitude = temp;
NSDecimalNumber *temp2 = [[NSDecimalNumber alloc] initWithString:second];
coffeeObj.Longitude = temp2;
[temp release];
coffeeObj.isDirty = NO;
coffeeObj.isDetailViewHydrated = YES;
//Add the object
[appDelegate addCoffee:coffeeObj];
0 Stimmen
Ist es möglich, dass Sie irgendwo "BEGIN TRANSACTION" ausgeführt haben, aber kein entsprechendes "COMMIT" durchgeführt haben?
0 Stimmen
Entschuldigung, was kann ich tun, ich habe Sie nicht verstanden?
0 Stimmen
Welche Typen sind
Date
,Latitude
yLongitude
?0 Stimmen
Datum ist String, Breitengrad und Längengrad sind Double
0 Stimmen
Vielen Dank an alle, ich habe mein Problem gelöst :)