AHK Connect SQLite Variable in Datenbank auslagern
Posted: 29 Aug 2018, 02:43
Hallo zusammen,
ich benötige Hilfe bei der Verbindung eines AHK Scripts mit einer SQLite db.
Anwendungsfall:
Ich habe eine InputBox, wo eine PLZ eingegen wird. Danach soll ein PopUp aufgehen, wo Informationen dazu angezeigt werden.
Das Skript ist auch bereits fertig und wird produktiv eingesetzt, jedoch hat es ca. 160.000 Zeilen und muss regelmäßig gepflegt werden, was etwas umständlich ist. Nun kam mir die Idee, es wäre doch totschick, wenn man die ganzen Variablen in eine Datenbank auslagern könnte. Idealerweise sogar MySQL, ich hab mich erst einmal mit SQLite versucht. Hier habe ich folgende Tabelle erzeugt:
Die Tabelle wurde mit den identischen Daten gefüllt:
Nach langer Googlesuche habe ich ein Script gefunden, was auch mit SQLite funktioniert, leider habe ich es nicht verstanden. Wahrscheinlich bin ich dazu einfach zu wenig Programmierer^^
https://github.com/IsNull/ahkDBA
Die Erklärung dazu konnte ich ebenfalls finden, also Script und db in einen Ordner gepackt und versucht anhand der Erklärung das Ganze auf meinen Anwendungsfall anzuwenden:
https://autohotkey.com/board/topic/7117 ... mysql-ado/
Wenn jetzt die Msgbox aufgegangen wäre mit "70000 Stuttgart" wäre ich überglücklich und würde diesen Thread wahrscheinlich gar nicht schreiben.
Ich hoffe mir kann jemand helfen, ich bin für jede konstruktive Anregung dankbar. Irgendwas habe ich vergessen, vllt muss ich auch die sqlite3.dll irgendwie einbinden, ich komme aber allein nicht weiter.
Vielen Dank im Voraus fürs lesen und hirnen.
ich benötige Hilfe bei der Verbindung eines AHK Scripts mit einer SQLite db.
Anwendungsfall:
Ich habe eine InputBox, wo eine PLZ eingegen wird. Danach soll ein PopUp aufgehen, wo Informationen dazu angezeigt werden.
Code: Select all
^F1::
InputBox, FragePLZ, Bitte PLZ eingeben:
if(FragePLZ="70000")
{
Stadt=Stuttgart
BL=BW
}
if(FragePLZ="80000")
{
Stadt=München
BL=Bayern
}
MsgBox, Stadt %Stadt%, Bundesland %BL%
Return
Code: Select all
CREATE TABLE `Deutschland` ( `PLZ` INTEGER NOT NULL UNIQUE, `Stadt` TEXT, `BL` TEXT, PRIMARY KEY(`PLZ`) )
Code: Select all
INSERT INTO Deutschland (PLZ, Stadt, BL) VALUES (70000, Stuttgart, BW);
INSERT INTO Deutschland (PLZ, Stadt, BL) VALUES (80000, Muenchen, Bayern);
https://github.com/IsNull/ahkDBA
Die Erklärung dazu konnte ich ebenfalls finden, also Script und db in einen Ordner gepackt und versucht anhand der Erklärung das Ganze auf meinen Anwendungsfall anzuwenden:
https://autohotkey.com/board/topic/7117 ... mysql-ado/
Code: Select all
^F2::
connectionString := "Hauptstadt.sqlite3"
db := DBA.DataBaseFactory.OpenDataBase("SQLite", connectionString)
rs := db.OpenRecordSet("Select * from Deutschland where PLZ='70000'")
while(!rs.EOF){
PLZ := rs["PLZ"]
Stadt := rs["Stadt"] ; column-name oder Index
MsgBox %PLZ% %Stadt%
rs.MoveNext()
}
rs.Close()
Return
![Wink ;)](./images/smilies/icon_e_wink.gif)
Ich hoffe mir kann jemand helfen, ich bin für jede konstruktive Anregung dankbar. Irgendwas habe ich vergessen, vllt muss ich auch die sqlite3.dll irgendwie einbinden, ich komme aber allein nicht weiter.
![Hit my head against the wall. :headwall:](./images/smilies/headwall.gif)
Vielen Dank im Voraus fürs lesen und hirnen.