SQLite erstellen mit Xojo

Hallo Leute,
ich wollte nach einem Video was ich gesehen habe ein SQLite insert machen. Im Video öffnet sich bei insert Sqlite ein Fenster und man gibt den Namen an und den Standort. Das macht es bei mir nicht. Wie gehe ich vor? Was mache ich falsch? Danke

Hi @Andy_Nightingale

what video?

Mir ist die Frage nicht ganz klar: geht es darum den SQL-Befehl “insert” anzuwenden oder darum mit einer SQLite Datenbank zu arbeiten bzw. diese zu erstellen?

Also ich klicke: Insert Database Connection. Dann klicke ich SQLIte Database. Dann müßte sich laut Video ein Fenster öffnen wo drin steht. Save as: database.sqlite usw. Kommt aber nicht.

stattdessen macht er das:

Das ist ein typisches Problem mit Tutorialvideos: je älter sie sind desto wahrscheinlicher ist der Inhalt (zumindest teilweise) überholt.

Ein Einstiegspunkt zum Thema SQLite in Xojo ist die Dokumentation: SQLiteDatabase — Xojo documentation

Auch bei den mitgelieferten Beispielen ist etwas zum Thema zu finden…

OK, that video is pretty old and the screenshot you show is for connecting to a database, not creating one.

Use https://sqlitestudio.pl/
OR https://sqlitebrowser.org/

to create the DB and table(s) then use what you showed to connect.

irgendwie ist der Menu Punkt new sqlite db verschwunden.

DB Browser (SQLite) wird dir helfen.

But where is it?

Hallo Markus,
wo ist denn dieser DB Browser? Weist du wie ich das finde bzw. anzeigen lasse?

Den kann man hier runterladen:

https://sqlitebrowser.org/

Hallo Richard, das Bild oben ist in Xojo. Wie bringe ich den Browser in Xojo rein? Steh gerade aufm Schlauch.

Xojo hat diese Funktion nicht mehr…man muss nun extern eine SQLite DB erstellen und die dann in Xojo referenzieren.

Ui Schade…das sah auf dem Video so super leicht aus. Merkwürdig das man hier einen Schritt zurück gemacht hat. Das heißt das wenn ich eine Tabelle usw. abändern muß, das ich dann immer in ein anderes Programm muß wie diesen SQL Browser um das zu änden.?

diese Verwaltung hat nicht 100% funktioniert und jede Datenbank hat ihre Besonderheiten.

Abaendern ginge auch per SQL Spruechen, ich finde eine grafische Oberflaecher besser auch wenn das ein eigenes Tool ist,.
Du kannst auch eine Datenbank aus dem Programm erstellen.
https://www.sqlite.org/lang.html

Das geht mit SQL.

In Xojo? Wie?

Wenn Du Deine Tabellen erstellst, hast Du die üblichen “create table” SQL-Anweisungen. Beim Öffnen überprüfst Du die Schema-Version und machst dann entsprechend die Änderungen im Vergleich zur vorherigen Schema-Version.

In der ursprünglichen Version hatte die Tabelle kein Feld Template:

Dim sql As String = "CREATE TABLE AccountsAndMailClients(AccountID Text PRIMARY KEY, Accountname Text NOT NULL, Username Text, Servername Text, Port Integer, Authentication Text, UseSSL Boolean, IsIMAP Boolean NOT NULL, Template Text, EmailAddress Text, SMTPServer Text)"
PlanDataDB.ExecuteSQL(sql)

Das Template-Feld füge ich mit “alter table” hinzu, wenn eine ältere Version geöffnet wird:

Dim theSql As String = "ALTER TABLE ""AccountsAndMailClients"" ADD COLUMN ""Template"" Integer"
PlanDataDB.ExecuteSQL(theSql)

Das ist ja ein Fehler im SQL für den Feld-Typ von Template. Nur gut, daß in SQLite alles Text ist.

Nach meinem Kenntnisstand ist nicht alles Text in SQLite:

Hier ein Auszug aus https://sqlite.org/datatype3.html:

Storage Classes and Datatypes

Each value stored in an SQLite database (or manipulated by the database engine) has one of the following storage classes:

  • NULL. The value is a NULL value.
  • INTEGER. The value is a signed integer, stored in 0, 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.
  • REAL. The value is a floating point value, stored as an 8-byte IEEE floating point number.
  • TEXT. The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE).
  • BLOB. The value is a blob of data, stored exactly as it was input.