Alinas_SQLite_BuchVw ist ein AutoIt-Listview, neben Editfeld und Gui eine weitere Möglichkeit seine Datenbankinhalte zu präsentieren. Also eine Sichtweise, die uns aus Officeprogrammen geläufig ist, die nun mit der Funktionalität von relationalen Datenbanken einhergeht.
In diesem Anwendungsbeispiel handelt es sich um eine Datenbank mit einer einzelnen Tabelle, in der eine Büchersammlung verwaltet werden soll. Beim Start der Sammlung soll die Tabelle der Datenbank einige Eckdaten aufnehmen, z.B. ID, Titel, Autor, Erscheinungsdatum und die ISBN.
Das Datum –
Mit dem SQL-Befehl “SELECT date(‘now’);” wird nicht nur das aktuelle Datum angezeigt, sondern auch das SQLite interne Datumsformat (YYYY-MM-DD), das in diesem Fall verwendet wird.
Die Bedienung
ist denkbar einfach und schnell erklärt. Nach dem Start des Programms wird die DB mit “DB laden” geladen.
Die Suche funktioniert so, den Suchbegriff eingeben und im Combofeld hier “Titel” voreingestellt eine Auswahl treffen. Nach dem Klick auf “Suche starten” erscheint die Ausgabe im ListView. Zur DB zurück mit “DB laden”.
Um einen einzelnen Datensatz zu bearbeiten, wechselt man in den Bearbeitungsmodus. Bei einem Rechtsklick auf den jeweiligen Datensatz wird dieser in die Eingabefelder eingefügt und man kann prüfen, ob man eventuell in der Zeile verrutscht ist. Hier können die Datensätze auch eingegeben, geändert oder gelöscht werden. Bevor es losgeht aber erst einmal ein Backup mit “DB BackUp”, nun erhält man eine Txt-Datei, die auch von einem Officeprogramm eingelesen (Daten-Import) werden kann.
Edit siehe Post #3: Download "sqlite3xx_dll.au3" :
http://ritzelrocker04.bplaced.…torials/sqlite-starterlv/
PS: Schöne Feiertage!
Global Const $asWDAYger[7] = ["Sonntag, ", "Montag, ", "Dienstag, ", "Mittwoch, ", "Donnerstag, ", "Freitag, ", "Samstag, "]
$Label = GUICtrlCreateLabel("~ ~ ~ B U C H V E R W A L T U N G ~ ~ ~", 0, 8, 1125, 28, 0x01) ; $SS_CENTER=0x01
$aCtrlLabel[$j] = GUICtrlCreateLabel($aHeader[$j + 1], 10 + Mod($j, 2) * 290, 515 + Int(($j - 7) / 2) * 35, 150, 22)
$aCtrlInput[$j] = GUICtrlCreateInput($j, 170 + Mod($j, 2) * 240, 515 + Int(($j - 7) / 2) * 35, 120, 26)
$cboSearch = GUICtrlCreateCombo("Titel", 620, 545, 241, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
Global $aCtrllbl[3], $aCtrlipt[3], $aLblTxt[3] = ["Buchanzahl:", "Ges. Seitenzahl:", "Ges. Buch NP:"] ;"Büchermenge:"
_SQLite_Startup(@ScriptDir & "\sqlite3.dll", False, 1) ; BugFix Idee, da DLL ja nicht mehr mitgeliefert wird
_GUICtrlStatusBar_SetText($tatusBar, " " & $asWDAYger[@WDAY - 1] & _DateTimeFormat(_NowCalc(), 2), 1)
_SQLite_Exec($g_db_Database, "CREATE TABLE IF NOT EXISTS Buchverwaltung(ID INTEGER PRIMARY KEY AUTOINCREMENT,Titel,Autor,Verlag,Genre,Einband,ISBN,Preis,Erscheinungsdatum,Seiten,Lagerplatz,Serie,Lfd_Nr,Ausgeliehen_an,Ausgeliehen_am,Ausgeliehen_bis,Bestellt,Gelesen,Note,Zusatz,Information);")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'13 Tage','Giambanco, Valentina','Droemer Knaur','Thriller','Hardcover','978-3426513996','14.99','2014-03-03','576','R1-F2','','','Thomas','2015-11-01','2016-01-01','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'Abgründe','Strobel, Arno','Loewe','Thriller-J','Taschenbuch','978-3785578643','9.95','2014-03-10','240','R1-F2','','','','','','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'Bedroht','Koppen, Hans','Heyne','Thriller','Taschenbuch','978-3453268012','14.99','2013-03-27','411','R1-F2','','','','','','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'Agent 6','Smith, Tom Rob','Goldmann','Thriller','Taschenbuch','978-3442546770','9.99','2011-09-14','540','R1-F2','','','','','','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'Belladonna','Slaughter, Karin','rororo','Thriller','Taschenbuch','978-3499239140','6.00','2003-03-03','413','R1-F1','','','','','','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'Bis zum letzten Atemzug','Baldacci, David','Bastei Lübbe','Thriller','Taschenbuch','978-3404165537','9.99','2011-04-01','574','R1-F2','','','','','','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'Bittere Wunden','Slaughter, Karin','blanvalet','Thriller','Hardcover','978-3764505172','19.99','2014-09-01','576','R1-F1','','','','','','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'Datenbanken','Anton, Autor','Heyne','Fachbuch','Hardcover','978-3453268017','49.99','2013-03-27','411','R1-F2','','','Max','2015-11-01','2016-12-31','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'Latex','Antonow, E.','Galileo','Fachbuch','Hardcover','978-3453268021','24.99','2011-01-01','411','R1-F2','','','Martin','2012-10-01','2013-02-15','','','..','..','..');")
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL,'C Programmieren','Erlenkötter, H.','rororo','Fachbuch','Hardcover','978-3453268010','11.99','2013-10-01','411','R1-F2','','','Lutz','2015-02-01','2016-10-13','','','..','..','..');")
_ListViewFill("SELECT ROWID,* From Buchverwaltung WHERE " & GUICtrlRead($cboSearch) & " LIKE '" & GUICtrlRead($iptSearch) & "';")
_SQLite_Exec(-1, "UPDATE Buchverwaltung SET Titel = '" & GUICtrlRead($aCtrlInput[1]) & "', Autor = '" _
& GUICtrlRead($aCtrlInput[6]) & "', Preis = '" & GUICtrlRead($aCtrlInput[7]) & "', Erscheinungsdatum = '" _
& GUICtrlRead($aCtrlInput[8]) & "', Seiten = '" & GUICtrlRead($aCtrlInput[9]) & "', Lagerplatz = '" _
& GUICtrlRead($aCtrlInput[12]) & "', Ausgeliehen_an = '" & GUICtrlRead($aCtrlInput[13]) & "', Ausgeliehen_am = '" _
& GUICtrlRead($aCtrlInput[14]) & "', Ausgeliehen_bis = '" & GUICtrlRead($aCtrlInput[15]) & "', Bestellt = '" _
& GUICtrlRead($aCtrlInput[18]) & "', Zusatz = '" & GUICtrlRead($aCtrlInput[19]) & "', Information = '" _
_SQLite_Exec(-1, "INSERT INTO Buchverwaltung VALUES(NULL, '" & GUICtrlRead($aCtrlInput[1]) & "','" _
& GUICtrlRead($aCtrlInput[2]) & "','" & GUICtrlRead($aCtrlInput[3]) & "','" & GUICtrlRead($aCtrlInput[4]) _
& "','" & GUICtrlRead($aCtrlInput[5]) & "','" & GUICtrlRead($aCtrlInput[6]) & "','" & GUICtrlRead($aCtrlInput[7]) _
& "','" & GUICtrlRead($aCtrlInput[8]) & "','" & GUICtrlRead($aCtrlInput[9]) & "','" & GUICtrlRead($aCtrlInput[10]) _
& "','" & GUICtrlRead($aCtrlInput[11]) & "','" & GUICtrlRead($aCtrlInput[12]) & "','" & GUICtrlRead($aCtrlInput[13]) _
& "','" & GUICtrlRead($aCtrlInput[14]) & "','" & GUICtrlRead($aCtrlInput[15]) & "','" & GUICtrlRead($aCtrlInput[16]) _
& "','" & GUICtrlRead($aCtrlInput[17]) & "','" & GUICtrlRead($aCtrlInput[18]) & "','" & GUICtrlRead($aCtrlInput[19]) _
;===================================================================================================
;===================================================================================================