Datenbankprogrammierung, Prof. Dr. Martin Hulin Übungsblatt 2: Visual Basic Programm mit ADO Aufgabe: Eintragen einer Reservierung für ein Automodell Erstellen Sie ein Visual Basic Programm, mit dem man in der Datenbank der AutoverleihFirma eine Reservierung eintragen kann. Dazu muss sich der Benutzer durch Angabe seiner Kundennummer erst authentifizieren, d. h. nur ein registrierter Kunde kann eine Reservierung vornehmen. Danach gibt der Kunde ein Automodell und einen Zeitraum an. Wenn in dem Wunschzeitraum wenigstens ein Auto des angegebenen Automodells frei ist, soll die Reservierung in der Tabelle eingetragen werden. Achten Sie auf eine Programmierung, bei der sich auch zwei gleichzeitig stattfindende Reservierungen verschiedener Kunden nicht stören. Eventuell müssen Sie dazu die Datenbankstruktur ändern oder ganze Tabellen sperren. Damit Sie die Modellsuche nicht noch einmal programmieren müssen, können Sie auf mein Programm "Reservierung_vorgabe.vbp" aufsetzen und dort die eigentliche Reservierung hinzufügen. Dieses Programm finden Sie unter http://erde.fbe.fh-weingarten.de/hulin/DAPRO/Reservierung Sie können aber auch ohne meine Vorgabe arbeiten, die Modellsuche weglassen und vom Benutzer einfach eine Modellnummer für die Reservierung fordern. Hinweise Verwenden Sie am besten den Microsoft Visual Basic Compiler Damit die Überprüfung der Kunden funktioniert, müssen Sie wenigstens zwei Kunden in die Datenbank eintragen. Sie können aber auch die Datei "insert_into_kunde.sql" ausführen. Damit werden die Studenten der Vorlesung Datenbankprogrammierung als Kunden eingetragen. Aktivieren Sie ActiveX: Dazu müssen Sie unter dem Menüpunkt "Project > References" den Eintrag "Microsoft ActiveX Data Objects 2.7 Library" auswählen. Der DataSourceName (DSN) heißt "ORA_NAMIB" für die Oracle-Datenbank. Für die MySQL-Datenbank müssen Sie selbst eine User-DSN einrichten. Ändern Sie in meiner Programm-Vorgabe (wenn Sie sie benutzen) auf alle Fälle Ihren Benutzernamen und das Passwort. Den Code für die Reservierung tragen Sie dann bei "Private Sub Reservieren_Click()" ein. Die ModellID des ausgewählten Automodells, das reserviert werden soll, ist in "ID.Text" zu finden, nachdem der Benutzer die Modellsuche durchgeführt hat. Für Oracle ist eine Sequence "reservierungseq" eingerichtet, die automatisch eine neue ReservierungsID erzeugt. Das entsprechende insert-Kommando beginnt dann mit "insert into Reservierung Values (reservierungseq.nextval, ..." Bei MySQL ist ein Autoinkrement-Feld für die ReservierungsID eingerichtet, d. h. dieses Feld braucht beim Insert nicht belegt zu werden; es wird automatisch gesetzt. 4/8/2017