Wie manage ich eine SQLite Datenbank?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie manage ich eine SQLite Datenbank?

    Hallo zusammen,

    seit einiger Zeit beschäftige ich mich etwas mit der App-Entwicklung und fange gerade an in einer App was mit SQLite zu machen.
    Gibt es ein Tool mit dem ich die Datenbank verwalten kann?
    Wenn ich meine App teste, passt natürlich nicht immer alles gleich zu Anfang und ich muss dann eben die Datenbank nochmal leeren, oder mir ansehen was darin angekommen ist etc.
    Da frage ich mich ob es ein Tool oder eine Funktion in XCode gibt die ich noch nicht gefunden habe, mit der ich die Datenbank wie z.B. mit phpMyAdmin verwalten kann.

    Kann mich da jemand aufklären?
    Auf anhieb hab ich leider nichts finden können.
  • Xcode bietet da vermutlich nicht wirklich etwas an. Aber SQLite kann man sicherlich auch mit der Kommandozeile bedienen. Datenbank leeren ist da ein Kinderspiel. Einen Cleanup bekommst Du auch irgendwie in Xcode automatisch hin. Um Daten anzusehen ist die Kommandozeile nicht immer geeignet. Wenn die Tabellen nicht gerade groß ist, dann geht das aber schon. Außerdem solltest Du damit auch deine Abfragen vorab testen können.
  • Manitwo schrieb:

    Danke für die Software-Tipps. Das schaue ich mir mal genauer an.
    Wo finde ich denn die DB überhaupt?
    ?(

    Du wirst doch die DB mit soetwas wie [FMDatabase databaseWithPath:...] anlegen, oder? Dann gibst Du den Pfad doch vor. Oder hast Du nur irgendwas zusammenkopiert, ohne den Code zu verstehen? Wenn man schon fremden Code von GitHub nutzt, sollte man zumindest in die Beispiele und Dokumentationen schauen.

    Ja, ich nutzte auch manchmal Snippets aus dem Netz, aber Leute, macht Euch selbst einen Gefallen und kopiert nichts, was Ihr nicht auch verstanden habt. Mir wird ja ganz schlecht, wenn ich an die sonst zu erwartende Softwarequalität denke ... obwohl ... ist schon zu spät :D

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • gritsch schrieb:

    Dort wo du sie anlegst. Du übergibst der open-methode ja einen pfad.
    Ist schon spät :) Danke, habs gefunden.

    Ich verwende FMDB weil das einer der ersten Treffer bei Google war und ich mit SQL gut zurecht komme.
    Was du mir mit C-Interface sagen willst, weiss ich ehrlich gesagt gerade nicht.

    Ich hab auf meiner ToDo-Liste auf jeden Fall noch den Einstieg in Core-Data.
    Das erschien mir für den Anfang aber sehr umfangreich und ich wollte nach den ersten erfolgreichen Gehversuchen und wenn ich etwas sicherer mit Xcode und Swift bin, mir das mal ansehen.
  • Manitwo schrieb:

    gritsch schrieb:

    Dort wo du sie anlegst. Du übergibst der open-methode ja einen pfad.
    Ist schon spät :) Danke, habs gefunden.
    Ich verwende FMDB weil das einer der ersten Treffer bei Google war und ich mit SQL gut zurecht komme.
    Was du mir mit C-Interface sagen willst, weiss ich ehrlich gesagt gerade nicht.

    Ich hab auf meiner ToDo-Liste auf jeden Fall noch den Einstieg in Core-Data.
    Das erschien mir für den Anfang aber sehr umfangreich und ich wollte nach den ersten erfolgreichen Gehversuchen und wenn ich etwas sicherer mit Xcode und Swift bin, mir das mal ansehen.
    Er meint damit, dass sqlite selbst eine Library als API mitliefert, die in und für C ist. FMDB setzt darauf auf und gibt dir etwas OO-Sugar. Da das recht knapp ist, kann man eigentlich nicht viel gegen FMDB haben. Es vereinfacht ein paar Randsachen.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • gritsch schrieb:

    Manitwo schrieb:

    Amin Negm-Awad schrieb:

    Er meint damit, dass sqlite selbst eine Library als API mitliefert, die in und für C ist. FMDB setzt darauf auf und gibt dir etwas OO-Sugar. Da das recht knapp ist, kann man eigentlich nicht viel gegen FMDB haben. Es vereinfacht ein paar Randsachen.
    Ah, ok. Dann muss ich mir das ja nicht anschauen :)
    :thumbdown:
    Gute Begründung es nicht zu verwenden.
  • matz schrieb:

    gritsch schrieb:

    Manitwo schrieb:

    Amin Negm-Awad schrieb:

    Er meint damit, dass sqlite selbst eine Library als API mitliefert, die in und für C ist. FMDB setzt darauf auf und gibt dir etwas OO-Sugar. Da das recht knapp ist, kann man eigentlich nicht viel gegen FMDB haben. Es vereinfacht ein paar Randsachen.
    Ah, ok. Dann muss ich mir das ja nicht anschauen :)
    :thumbdown:
    Gute Begründung es nicht zu verwenden.
    Gut ich hab schon Projekte gesehen in denen die komplette boost-bibliothek eingebunden wurde nur um eine funktion for case-insensitive string-vergleiche zu haben (facepalm).
  • gritsch schrieb:

    matz schrieb:

    gritsch schrieb:

    Manitwo schrieb:

    Amin Negm-Awad schrieb:

    Er meint damit, dass sqlite selbst eine Library als API mitliefert, die in und für C ist. FMDB setzt darauf auf und gibt dir etwas OO-Sugar. Da das recht knapp ist, kann man eigentlich nicht viel gegen FMDB haben. Es vereinfacht ein paar Randsachen.
    Ah, ok. Dann muss ich mir das ja nicht anschauen :)
    :thumbdown:
    Gute Begründung es nicht zu verwenden.
    Gut ich hab schon Projekte gesehen in denen die komplette boost-bibliothek eingebunden wurde nur um eine funktion for case-insensitive string-vergleiche zu haben (facepalm).

    Das ist doch absolute Standard heute. Ich kenne es nicht mehr anders.
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • gritsch schrieb:

    matz schrieb:

    gritsch schrieb:

    Manitwo schrieb:

    Amin Negm-Awad schrieb:

    Er meint damit, dass sqlite selbst eine Library als API mitliefert, die in und für C ist. FMDB setzt darauf auf und gibt dir etwas OO-Sugar. Da das recht knapp ist, kann man eigentlich nicht viel gegen FMDB haben. Es vereinfacht ein paar Randsachen.
    Ah, ok. Dann muss ich mir das ja nicht anschauen :)
    :thumbdown:
    Gute Begründung es nicht zu verwenden.
    Gut ich hab schon Projekte gesehen in denen die komplette boost-bibliothek eingebunden wurde nur um eine funktion for case-insensitive string-vergleiche zu haben (facepalm).
    Das heißt also FMDB ist großer Overhead für diesen Anwendungsfall? (Ich kenne es nicht)
  • matz schrieb:

    gritsch schrieb:

    matz schrieb:

    gritsch schrieb:

    Manitwo schrieb:

    Amin Negm-Awad schrieb:

    Er meint damit, dass sqlite selbst eine Library als API mitliefert, die in und für C ist. FMDB setzt darauf auf und gibt dir etwas OO-Sugar. Da das recht knapp ist, kann man eigentlich nicht viel gegen FMDB haben. Es vereinfacht ein paar Randsachen.
    Ah, ok. Dann muss ich mir das ja nicht anschauen :)
    :thumbdown:
    Gute Begründung es nicht zu verwenden.
    Gut ich hab schon Projekte gesehen in denen die komplette boost-bibliothek eingebunden wurde nur um eine funktion for case-insensitive string-vergleiche zu haben (facepalm).
    Das heißt also FMDB ist großer Overhead für diesen Anwendungsfall? (Ich kenne es nicht)
    Ich bin mir sicher dass man zuerst analysieren sollte ob die vom System mitgelieferten libs ausreichen oder ob man doch auf irgend ein ThirdParty-Framework zurückgreift das auch mal gerne code mitbringen kann den man nicht in seinem Programm haben möchte...
  • Amin Negm-Awad schrieb:

    Und bevor du es analysiert hast,behauptest du schon einmal ein Ergebnis?

    Er will SQlit nutzen. Dazu ist genau FMDB gedacht, nicht für irgendeine Funktion.
    Nein, ich habs nicht analysiert bzw mich genauer damit befasst und kann daher eben nicht sagen ob es OK ist.
    Und wie es scheint hat das der TO auch nicht getan.
    Wenn man bei heise, golem und co etwas acht gibt kommts immer wieder vor dass programmierer irgendwelche frameworks einbauen die dann irgendwann mal die schadfunktion aktivieren und kunden aushorchen, spam verschicken oder was auch immer. Dann ist das Geheule groß...