Richtig verbunden
Das Programm aus Listing 2 ist weitestgehend selbsterklärend: Es stellt zunächst eine Verbindung zu einer existierenden Datenbank her. Dazu sind grundlegende Daten wie Host des Datenbankservers, Name und Passwort eines lokalen Nutzers sowie der Name der Datenbank erforderlich. Auf den Code zum Öffnen einer Verbindung (Zeilen 9 bis 13) folgt ein SQL-Befehl für das Auslesen eines Datensatzes (Zeile 17). Im Beispiel sucht er nach den Vor- und Nachnamen von Angestellten.
Eine Testdatenbank erzeugt der Datenbanknutzer »root« nach Aufruf von »mysql -u root -p« in der MySQL-Shell:
create database if not exists test; grant all privileges on test.* to 'testuser'@'localhost' identified by 'testuserpassword';
Die Tabellen legt nach dem Neustart der MySQL-Shell ein nicht privilegierter Benutzer mit »mysql -u testuser -p« an:
create table angestellter(vorname varchar(32), nachname varchar(32));
Die Tabelle »angestellter«, lässt sich nun mit Vor- und Nachnamen füllen:
insert into angestellter (vorname, nachname) values("Haenschen", "Klein");
insert into angestellter (vorname, nachname) values("Gretel", "Klein");
insert into angestellter (vorname, nachname) values("boese", "Hexe");
Der Aufruf des Programms aus Listing 2 liest dann die Tabelle aus. Eine passende Reader-Klasse (Zeile 19) iteriert nun über alle gefundenen Datensätze und gibt sie nacheinander aus:
mono mysql.exe Haenschen Klein Gretel Klein boese Hexe
Als Aufräumarbeit folgt zum Schluss das Schließen der Datenbankverbindung (Zeilen 26 bis 28).
Mit Links
Das Akronym LINQ steht für Language Integrated Query. LINQ vereinheitlicht Abfragen unterschiedlichster Datenquellen unter einem gemeinsamen API. Dazu gehören auch die gerade vorgestellten Datencontainer. Der Zugriff erfolgt mit einer SQL-ähnlichen Syntax. So wählt Listing 3 aus »zufallsZahlen« vom Typ »List<double>« Werte größer »5.5« aus (»where-Klausel«, Zeile 13).
Neben der speziellen Syntax des LINQ-Statements fällt in diesem Listing eine weitere Besonderheit auf: die implizit typisierten Variablen. Den Typ von »highnumbers« legt erst der Compiler fest. Dies trägt weiter dazu bei, die Syntax der Abfrage verschiedener Datenquellen zu vereinheitlichen.
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 3 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





