SQLite3: zwei Datenbanken auslesen

Anfängerfragen zum Programmieren mit PureBasic.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

SQLite3: zwei Datenbanken auslesen

Beitrag von sobi »

Hallo,

wie stelle ich das an, wenn ich zwei DB gleichzeitig auslesen will? (das Beispiel von PureArea.net habe ich nicht geschnallt :oops: )

Ich habe eine DB die er Reihe für Reihe auslesen soll.
Je nach dem, was in dem dritten Feld steht, soll er in einer anderen DB nachschauen, welche Farbe diesem Wert zugewisen wird.
sieht so ähnlich aus:

Code: Alles auswählen

SQLite3_GetTable("SELECT * FROM "+db_use+" ORDER BY kategorie", @myRows, @myCols, sqlite3_dbHandle)
    For Row.l  = 1 To myRows      
          farbekat.s = DBData(Row,2)
          SQLite3_GetTable("SELECT * FROM bereiche", @myRows, @myCols, sqlite3_dbHandle)
          For Row2.l=1 To MyRows
            If DBData(Row2, 1) = farbekat
              Debug DBData(Row2,2)
            EndIf 
          Next
          SQLite3_CloseDatabase(sqlite3_dbHandle)
SQLite3_GetTable("SELECT * FROM "+db_use+" ORDER BY kategorie", @myRows, @myCols, sqlite3_dbHandle)
            
                    Debug dbdata(row,2)
          Box(x2+10,y2+y1+1,30,wert_02.f*-1/faktor, RGB(0,0,255))
       next
Habe immerhin schon eine Möglichkeit gefunden, die nicht funktioniert, kann mir jemand 'n Tipp geben, wie ich das ändern muss?
Liebe Grüße,
Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQLite3: zwei Datenbanken auslesen

Beitrag von Kiffi »

> wie stelle ich das an, wenn ich zwei DB gleichzeitig auslesen will?

für zwei Datenbanken musst Du natürlich auch zwei Handles haben. Mit denen Du dann auf die entsprechenden Daten zugreifen kannst.

Code: Alles auswählen

myDataBaseHandle1 = SQLite3_OpenDatabase("meineDB1.db")
myDataBaseHandle2 = SQLite3_OpenDatabase("meineDB2.db")

[...]

SQLite3_GetTable("SELECT * FROM "+db_use+" ORDER BY kategorie", @myRows, @myCols, myDataBaseHandle1) 

[...]

SQLite3_GetTable("SELECT * FROM "+db_use+" ORDER BY kategorie", @myRows, @myCols, myDataBaseHandle2) 
Grüße ... Kiffi
a²+b²=mc²
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Re: SQLite3: zwei Datenbanken auslesen

Beitrag von sobi »

Kiffi hat geschrieben:>
für zwei Datenbanken musst Du natürlich auch zwei Handles haben. Mit denen Du dann auf die entsprechenden Daten zugreifen kannst.

Code: Alles auswählen

myDataBaseHandle1 = SQLite3_OpenDatabase("meineDB1.db")
myDataBaseHandle2 = SQLite3_OpenDatabase("meineDB2.db")
Ja, das macht Sinn. Soetwas habe ich gesucht, nur hatte ich keine Ahnung wie ich das anstellen soll.
Ich nehme mal an, dass es kein Problem ist, wenn diese zwei Tabellen in einer Datei sind? Also so:

Code: Alles auswählen

myDataBaseHandle1 = SQLite3_OpenDatabase("meineDB1.db")
myDataBaseHandle2 = SQLite3_OpenDatabase("meineDB1.db")
Danke für deine Hilfe, Kiffi.

Liebe Grüße,
Simon
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQLite3: zwei Datenbanken auslesen

Beitrag von Kiffi »

> Ich nehme mal an, dass es kein Problem ist, wenn diese zwei Tabellen in
> einer Datei sind?

Moment! Willst Du 2 Datenbanken auslesen oder 2 Tabellen?

Grüße ... Kiffi
a²+b²=mc²
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Re: SQLite3: zwei Datenbanken auslesen

Beitrag von sobi »

Kiffi hat geschrieben:> Ich nehme mal an, dass es kein Problem ist, wenn diese zwei Tabellen in
> einer Datei sind?

Moment! Willst Du 2 Datenbanken auslesen oder 2 Tabellen?

Grüße ... Kiffi
Zwei Tabellen. (ist ein Unterschied, das ist mir inzwischen auch eingefallen! :-( *sorry* das ich das nicht gleich klar gesagt / geschrieben habe)
Allerdings, wenn ich die zwei mal öffne, wie du gesagt hast, dann geht das! :-) Funktionieren tut es, aber wie mache ich das richtig? :?
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQLite3: zwei Datenbanken auslesen

Beitrag von Kiffi »

> Funktionieren tut es, aber wie mache ich das richtig? :?

das ist ein klassischer Fall für ein SQL-Join.
Hierbei verknüpfst Du zwei Felder zweier Tabellen.

Ungefähr so:

Code: Alles auswählen

sSQL.s = "SELECT * FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.farbekat = Tabelle2.farbekat"
Grüße ... Kiffi
a²+b²=mc²
Antworten