SQLite Pfad für bestehende DB

Startseite Foren Deutsches LiveCode-Forum SQLite Pfad für bestehende DB

Ansicht von 4 Antwort-Themen
  • Autor
    Beiträge
    • #2024
      Aldred
      Teilnehmer

        Moin ihr Coder,

        folgendes Problem:

        Ich habe mit dem altbekannten Firefox-Plugin eine SQLite-DB mit einer Tabelle “benutzer” erstellt und diese an allen möglichen Stellen im Dokumente-Ordner gespeichert. Direkt om Dokumenteordner, im “My Live Code”-Ordner und im dortigen “Extensions”-Ordner. Im script steht dazu folgendes:

        put specialFolderPath(“documents”) &”/myDB.sqlite” into dbPath

        Ich vermute, dass er die Verbindung irgendwie aufbaut, aber die Tabelle “benutzer” nicht findet. Wenn ich die ausgelesenen Daten in ein Field eintragen lasse, bringt er mir eine Fehlermeldung, dass er keine derart benannte Tabelle findet.

        put “SELECT * FROM benutzer” into sql
        put revDataFromQuer(tab, return, dbPath, sql) into ergebnis
        set the dgtext of group “userChoiceDG” to ergebnis

        Meine Frage lautet wie folgt:

        Ist der Speicherort für meine DB richtig und der Code ist falsch, oder erstellt er irgendwo eine DB mit gleichem Namen, in der die Tabelle natürlich nicht existiert?

        Liebe Grüße
        Aldred

      • #2026
        Aldred
        Teilnehmer

          P.S.

          Vielleicht sollte ich noch anmerken, dass ich den obigen Code aus dem Gedächtnis aufgeschrieben habe, da ich gerade auf Nachtschicht bin. Bei Bedarf kann ich aber noch den Originalcode nachreichen, wenn ich zu Hause bin.

        • #2033
          Klaus Major
          Administrator

            Hallo Aldred,

            willkommen im Forum! 🙂

            Direkt im Dokumenteordner = specialFolderPath(“documents”) &”/myDB.sqlite”
            Der Pfad ist schon mal richtig, das Skript ist auch korrekt!

            Du kannst mit LC auch die Namen der darin enthaltenen Tabellen abfragen mit

            answer revDatabaseTableNames(dbid)

            Gruß

            Klaus

          • #2035
            Klaus Major
            Administrator

              MOMENT! 😀

              Beim zweiten lesen fiel mit das hier auf:
              put specialFolderPath(“documents”) &”/myDB.sqlite” into dbPath

              put revDataFromQuer(tab, return, dbPath, sql) into ergebnis

              Der Pfad ist zwar korrekt, aber hier leider fehlt am Platze!
              Du musst Dich zuerst mit “revopendatabase(…)” mit der Datenbank verbinden, diese Funktion liefert dann eine ID zurück, die Du in weiteren Datenbank Befehlen benutzen musst!

              local tDBID
              ## Oder auch GLOBAL, wie Du es halt brauchst
              ….
              put specialFolderPath(“documents”) &”/myDB.sqlite” into dbPath
              put revOpenDatabase(“sqlite”, dbPath) into tDBID

              Später dann:

              put revDataFromQuer(tab, return, tDBID, sql) into ergebnis

              Gruß

              Klaus

            • #2070
              Aldred
              Teilnehmer

                Mann mann mann, Klaus!
                Ich danke dir.
                Ich hatte die Datenbank mit revOpenDatabase schon geöffnet aber die Pfad-Variabel in revDataFromQuery eingegeben und nicht die ID-Variabel.
                Unglaublich, da liest man sich stundenlang den Code durch und sucht nach Fehlern und dann ist es so einfach.
                Nochmal, vielen Dank dir! Läuft jetzt wie geschmiert! 🙂

            Ansicht von 4 Antwort-Themen
            • Du musst angemeldet sein, um auf dieses Thema antworten zu können.