.: embeddedSQL :.
 
abyter.de \\ workshops

Einführung
Im letzten Workshop haben wir den Praxisteil zum selbstprogrammierten Datenzugriff behandelt. Nun wollen wir unser Programm noch etwas verfeinern, in dem wir eine weitere Technologie einsetzen, die mit dem selbstprogrammierten Datenzugriff einfach zu nutzen ist. Es handelt sich um SQL, das ist eine Abfragesprache, die nur dafür entworfen wurde Abfragen in Datenbanken zu erstellen. SQL heißt ausgeschrieben, Structured Query Language, also strukturierte Abfragesprache, wie ich eben gesagt habe. Abfragen sind - für alle die den Access-Workshop nicht gelesen haben - eine Schablone von Bedingungen die die Datensätze erfüllen müssen um angezeigt zu werden, so könnte eine Bedingung lauten, dass alle Datensätze angezeigt werden sollen die mit S beginnen.
Solche Anzeigeroutinen kann man natürlich auch mit Visual Basic erstellen, doch SQL bietet auch noch einige Features wie eine Sortierroutine, die in Visual Basic einige Arbeit bedeuten würde.

SQL in Visual Basic embedden
SQL Befehle, die für Abfragen erstellt werden, beginnen immer mit SELECT, so erkennt Visual Basic automatisch, dass es sich um eine SQL-Anweisung handelt.
Um also eine SQL-Anweisung in Visual Basic einzubinden definiert man eine Variable vom Typ String. Dieser weist man dann anschließend die SQL-Befehlsphrase zu. Danach wird die SQL-Anweisung ausgeführt, indem man beim Zuweisen einer Recordsetvariable statt des Tabellennamens die Variable einträgt. Eine typische SQL-Anweisung incl Aufruf sieht also so aus:

Dim sql as String
sql = "SELECT Name, EGebot FROM ebay WHERE Name LIKE '"& eingabe & "*'"
Set Tb = Db.OpenRecordset(sql)

In diesem Beispiel wird eine Tabelle erstellt, bei der alle Datensätze mit einer Zeichenfolge die in eingabe gespeichert ist übereinstimmen müssen, es dürfen aber noch Zeichen folgen.
Wenn du die Tabelle nun auf der Form ausgeben möchtest, so schreibe eine Do While-Schleife, die so aussehen könnte:

Do While Not (Tb.EOF)
Print Tb!Name, Tb!EGebot
Tb.MoveNext
Loop

Die Syntax einer SQL-Anweisung
Ich habe zwar eben ein Beispiel mit einer SQL-Anweisung gemacht, trotzdem dürftest du davon noch nicht sehr viel verstanden haben. Nun mal im Einzelnen, wie eine SQL-Anweisung aufgebaut ist:
SELECT Datenfelder FROM Tabelle WHERE Bedingung

Bei Datenfeldern handelt es sich um solche, die später in der erstellten Tabelle vorkommen sollen. Die Tabelle ist dann selbstverständlich die Tabelle in der sich die Felder befinden.
Mit INNER JOIN kann man mehrere Tabellen einbeziehen, die ein Verknüpfungsfeld haben, die Syntax sähe so aus:
[..] FROM ebay INNER JOIN tab2 ON ebay.Name = tab2.Name [...]

[...] bedeutet, dass die obigen Befehle weggelassen wurden.

Sortierroutine
Ich sprach in der Einführung den Sortieralgorithmus an, den bindet man folgendermaßen ein:
[...] ORDER BY Name

Hänge das einfach an die bisherige SQL-Anweisung an und jetzt werden die Datensätze ausgehend von dem Feld Name automatisch nach dem Alphabet sortiert. Wenn du absteigend nach dem Alphabet sortieren möchtest, hänge hinten DESC an.

War das alles?
Nein, wenn du die vollen Möglichkeiten von SQL entdecken willst, dann werfe mal einen Blick in die msdn-Library. Dort findest du noch einige Optionen und auch die restlichen möglichen Befehle von SQL: ADD NEW mit dem neue Tabellen erzeugt werden können, DELETE mit dem Tabellen gelöscht werden können, INSERT mit dem eine Insertabfrage (beim Vergleich von zwei Tabellen fehlende Datensätze ergänzen) gestartet wird. Es gibt aber noch einige mehr.

Related Workshops: Allgemeines \\ Visual Basic Einführung \\ Die Programmierumgebung \\ Programmiergrundlagen \\ Programmieren mit VB \\ Datenbankprogrammierung \\ Datenbanktheorie \\ Datenbankprogrammierung 2 \\ Steuerelemente \\ Api-Funktionen

Workshop als pdf

<Zurück

© by www.abyter.de (Martin Monshausen)