
Umlautmurks II: SQLite als Übeltäterin bzw. ?*belt?*terin
at Kaeru: Da steht Evolution (und zu sehen sind Fische, die erst keine, dann zwei kurze, dann zwei längere und zuletzt zwei längere L-förmige Striche unterm Bauch haben), hatte aber keinen Bock das Teil nochmal in größerer Version hochzuladen...
at Kiffi: Musste vorhin feststellen, dass die mit deinem Prog erzeugte Datenbank nicht vernünftig auf meine SQL - Kommandos reagierte, bis ich dahinterkam, dass alle Tabellenspalten den Typ STRING hatten, da kann ich lange integerbasierte Sortierkommandos rauskrakeelen. Hab dein Prog jetzt exakt auf meine Datenbank angepasst und jetzt klappt alles 100 %. Beizeiten werd ich mir noch etwas ausdenken, um meine 246 Tabellen automatisch einzulesen. Soviel sind es nämlich im Moment, hatte mich total verschätzt, habs erst festgestellt, als ich vorhin mit dem SQLite-Manager meine Projekte-Tabelle kontrollierte, bis zum Examen werden es dann wohl 300 sein.
Hier mein veränderter Code:
at Kiffi: Musste vorhin feststellen, dass die mit deinem Prog erzeugte Datenbank nicht vernünftig auf meine SQL - Kommandos reagierte, bis ich dahinterkam, dass alle Tabellenspalten den Typ STRING hatten, da kann ich lange integerbasierte Sortierkommandos rauskrakeelen. Hab dein Prog jetzt exakt auf meine Datenbank angepasst und jetzt klappt alles 100 %. Beizeiten werd ich mir noch etwas ausdenken, um meine 246 Tabellen automatisch einzulesen. Soviel sind es nämlich im Moment, hatte mich total verschätzt, habs erst festgestellt, als ich vorhin mit dem SQLite-Manager meine Projekte-Tabelle kontrollierte, bis zum Examen werden es dann wohl 300 sein.
Hier mein veränderter Code:
Code: Alles auswählen
EnableExplicit
UseODBCDatabase()
UseSQLiteDatabase()
Define Werte.s
Define Wertzaehler.l
Define MDB.l
Define SDB.l
Define MDB_ODBC.s = "QM2"
Define SQLite_DB.s = "K:\VB-Programme\PURE BASIC\QM\Database\QM2.sqlite"
NewList Tabellenname.s()
; Nun trägst Du in der LinkedList die Namen der zu exportierenden Tabellen ein:
AddElement(Tabellenname()) : Tabellenname() = "Schadensrecht"
AddElement(Tabellenname()) : Tabellenname() = "SR_Anwartschaftsrecht"
AddElement(Tabellenname()) : Tabellenname() = "VerwProzR7_Normenkontrolle"
AddElement(Tabellenname()) : Tabellenname() = "Projekte"
; [...] und so weiter und so fort
MDB = OpenDatabase(#PB_Any, MDB_ODBC, "", "", #PB_Database_ODBC)
If MDB
If CreateFile(0, SQLite_DB)
CloseFile(0)
SDB = OpenDatabase(#PB_Any, SQLite_DB, "", "", #PB_Database_SQLite)
If SDB
ForEach Tabellenname()
If DatabaseQuery(MDB, "Select * From " + Tabellenname())
; TABELLENTYP PRÜFEN und in Abhängigkeit davon, die Tabellenstruktur erstellen
If Tabellenname () <> "Projekte"
If DatabaseUpdate(SDB, "Create Table " + Tabellenname() + " (FragenID INT, Frage STRING, AntwortID STRING, Thema STRING, HL INT, Link STRING)") = 0
Debug "DatabaseError: " + DatabaseError()
EndIf
Else
If DatabaseUpdate(SDB, "Create Table " + Tabellenname() + " (ProjektID INT, Projektname STRING, Rechtsgebiet STRING)") = 0
Debug "DatabaseError: " + DatabaseError()
EndIf
EndIf
; Insert-Into-Statement
DatabaseUpdate(SDB, "Begin Transaction")
While NextDatabaseRow(MDB)
Werte = ""
For Wertzaehler = 0 To DatabaseColumns(MDB) - 1
Werte + "'" + ReplaceString(GetDatabaseString(MDB, Wertzaehler), "'", "''") + "'"
If Wertzaehler < DatabaseColumns(MDB) - 1
Werte + ","
EndIf
Next
If DatabaseUpdate(SDB, "Insert Into " + Tabellenname() + " Values (" + Werte + ")") = 0
Debug "DatabaseError: " + DatabaseError()
EndIf
Wend
DatabaseUpdate(SDB, "Commit")
Else
Debug "!DatabaseQuery"
Debug DatabaseError()
EndIf
Next
CloseDatabase(SDB)
Else
Debug "!SDB"
EndIf
Else
Debug "!CreateFile"
EndIf
CloseDatabase(MDB)
Else
Debug "!MDB"
EndIf
Wenn die dicke Frau klatscht, ist die Oper zu Ende
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Oho, der Junge hat GeschmackKiffi hat geschrieben: Budweiser Budvar wäre mir lieber![]()

Wenn noch eine über bleibt, "opfer" ich mich!
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}