Sqlite-Manager und Xcode Problem mit Insert-Anweißung

B

Benney

Mitglied
Thread Starter
Dabei seit
24.02.2012
Beiträge
20
Reaktionspunkte
0
Hallo liebe Community :)

ich hätte eine kurze frage, es geht ich möchte Daten per insert Anweisung in eine xxx.sqlite Tabelle speichern, dass problem ist wenn ich dann per SQL-Lite manager die Datenbank öffne und die Tabelle anklicke sind die Daten nicht drin :-(

An was kann des liegen bitteeeee um HILFEEEEE

Danke
 
Da gibts viele Gründe:

1. Deine INSERT-Anweisung ist syntaktisch falsch und die Fehlermeldung verschwindet im Nirvana
2. Die eingefügten Daten sind ungültig (Schlüsselverletzung o.ä.) und die Fehlermeldung verschwindet im Nirvana
3. Die Fehlermeldung verschwindet nicht im Nirvana, aber Du verstehst sie nicht
4. Du arbeitest mit Transaktionen und die vom Insert ist noch nicht committed.
5. Du hast irgendwas anderes faslch gemacht

?
 
Xcode Sqlite_manager

Hallo ich bekomm aber keine Fehlermeldung :( es heißt das es funktioniert hat

ich post mal den code.



NSFileManager *fileMgr = [NSFileManager defaultManager];

NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:mad:"database.sqlite"];

BOOL success = [fileMgr fileExistsAtPath:dbPath];



if(!success)
{
NSLog(@"Cannot locate database file '%@'.", dbPath);
}

if(!(sqlite3_open([dbPath UTF8String], &db) == SQLITE_OK))
{
NSLog(@"An error has occured.");

}



sqlite3_stmt *sqlstatementin;

NSString *insertSQL = [NSString stringWithFormat:mad:"INSERT INTO TimeSheetEntry (userShortName,istStunden,istDatum, fortschritt, istEndDatum ) VALUES ('test','20','22.2.2010','59', '23.03.2020')"];

const char *insert_stmt = [insertSQL UTF8String];



if(sqlite3_prepare(db, insert_stmt, -1, &sqlstatementin, NULL) != SQLITE_OK)
{
NSLog(@"Problem mit SQL-Statement");
}

if (sqlite3_step(sqlstatementin) == SQLITE_DONE) {

NSLog(@"Contact added") ;
}

else {

NSLog(@"Contact false") ;
}

sqlite3_finalize(sqlstatementin);
sqlite3_close(db);
 
Fehlt da nicht ein ; am Ende des insertSQL Statements?
Also:
Code:
... '23.03.2020');"];
 
Trotzdem Fehler

laut xcode LOG

2012-02-24 14:46:28.036 saprima[2415:f803] Contact added

jetzt wenn ich im Firefox mit dem SQlite-Manager mich mit der DB verbinde steht aber der Eintrag nicht in der Tabelle drin :-(

ich verzweifle :-(
 
problem

Hat jemand noch eine Idee an was es liegen könnte???
 
Ich denke wie below an "5a" (siehe oben). Bist du dir sicher, dass du mit dem Firefox die korrekte Datei (die im AppBundle des Ausführungsverzeichnisses von XCode) untersuchst, und nicht die "Vorlage" im Projektverzeichnis?
 
ja bin ich mir das ist das problem aber mein Code stimmt oder ?? seht ihr da noch irgendwas ??
 
Wie schon mehrmals gesagt, zu 99% liest du die Falsche Datei aus.
Welche sqlite-Datei öffnest du dann? Verzeichnis, irgendwo unterverzeichnis von iPhone Simulator?

PS: Hatte micht am Anfang auch grün & blau geärgert :)
 
mich wunderst halt warum dann Select Anweisung funktioniert aber naja..

ich zeig es euch mal welche Datei ich auswähle :)

ich mach mal einen screenshot von dem Pfad. Datenbank heißt Test.sqlite

zur Erklärung : Diese wähle ich dann im Firefox unter - SQLite-Manager -> mit Datenbank verbinden aus
 

Anhänge

  • Bildschirmfoto 2012-02-24 um 16.03.48.png
    Bildschirmfoto 2012-02-24 um 16.03.48.png
    35,4 KB · Aufrufe: 75
Zuletzt bearbeitet:
@readweasel
Weisst zumindest den richtigen Ansatz auch wenn du kein Crack bist, hab in den Letzten Monaten viel damit gemacht :)

@Benney
Die Datei welche du im ScreenShot hast, ist nicht die welche du beim Testen öffnest.
Schaue mal ungefähr in einem solchen Verzeichnis:
/Users/[Username]/Library/Application Support/iPhone Simulator/5.0/Applications/... in einem dieser Ordner sollte die Datei dann sein...
 
Zurück
Oben Unten