Datenbank-Toolboxen für Visual Basic 3
Visual Basic bietet ein reichhaltiges Instrumentarium, um eine optimale Benutzerschnittstelle mit allen Windows-typischen Elementen zu realisieren. Beim Schreiben von Datenbankanwendungen stößt man aber recht schnell an die Grenzen der integrierten Funktionen.
Prinzipiell möglich ist mit purem Visual Basic zwar alles, allerdings umständlich und nur unter großem Programmieraufwand zu realisieren. Wer schreibt sich schon gerne Low-level-Routinen für die Unterhaltung von Index-Dateien, wenn eigentlich doch nur ein Telefonnummernverzeichnis entstehen soll?
Während sich die meisten der von uns vorgestellten Datenbank-Routinen an den de facto-Standard xBase (dBase und Kollegen) orientieren, unterscheiden sie sich doch im Konzept.
db/VB
Bis auf wenige Aufrufe der Windows-API ist diese Toolbox reines VisualBasic und wird sogar im Quelltext ausgeliefert. Wer jetzt aber denkt, das Ganze sei damit voluminös oder schwerfällig, der irrt. Selbst intensive Dateizugriffe, wie etwa den Aufbau einer Index-Datei benötigen nicht mehr Zeit als mit vergleichbaren, in C geschriebenen Toolboxen.
Unterstützt werden dBase III und IV-kompatible Dateien, Indexe und Memo-Dateien.
Die einzelnen Funktionen der Bibliothek orientieren sich weder vom Namen noch von der Logik her an der xBase-Vorlage.
Außerdem macht das hier zugrundegelegte Datenbank-Konzept den Programmierer mehr Arbeit, als etwa in dBase. So werden zum Beispiel Index-Dateien durch das Schreiben eines geänderten Datensatzes nicht automatisch mitgeführt, sondern müssen explizit durch den Befehl ADDKEY aktualisiert werden. Auch wird dem Programmierer die Pflicht auferlegt, sich um die richtige Länge eines Indexausdrucks zu kümmern. Stimmt die nicht mit der durch die Indexdatei vorgegebenen Länge überein, revanchiert sich dB/VB mit einer Fehlermeldung.
Entschädigt wird man dafür außerdem durch einsatzbereite mitgelieferte Module, die typische Problemfälle abdecken, wie etwa das Blättern in beliebige Datenbanken. Solche Bausteine für eigene Anwendungen gibt es auch für die Datenbank- und Index-Erstellung, für das benutzergesteuerte Öffnen von Dateien oder um die Struktur einer Datenbank darzustellen.
Das deutsche Handbuch ist sehr gut aufgebaut und führt auch Neulinge in die Benutzung von dB/VB ein. Durch die kontext-sensitive Online-Hilfe kann man sich den Griff zum Handbuch aber auch sparen. Sie bietet den gleichen Inhalt wie das Manual. Man vermißt lediglich einen Überblick über je nach Aktion nötigen eigenen Vorkehrungen, um die Datenkonsistenz (wie beim Index) zu bewahren.
vxBase
Die Entwickler von vxBase haben sich mit der Benennung und Konzeption sehr nahe an den xBase-Standard und speziell an Clipper orientiert.
Es gibt in vxBase nahezu alle im xBase-"Standard" vorhandenen Befehle, die in der Programmierumgebung von Visual Basic sinnvoll sind. Damit wird der Umstieg von der DOS-Programmierung auf Visual Basic mit vxBase relativ einfach. Auch braucht man im Bezug auf das Verhalten des Datenbanksystems nicht umlernen. So gibt es zum Beispiel genauso mehrere Dateibereiche, zwischen denen man umschalten kann. Um hier der in Visual Basic gegenüber DOS veränderten Funktionalität der Oberfläche gerecht zu werden, kann man vxBase dafür Sorge tragen lassen, daß beim Fensterwechsel durch den Benutzer auch gleich der passende Datenbereich selektiert wird. Das vereinfacht in großem Maße die gleichzeitige Darstellung mehrerer Dateien in verschiedenen Fenstern. Eine große Erleichterung stellt auch der Befehl vxBROWSE dar. Er bietet ein sehr gut ausgestattetes Browse-Modul zum Ansehen und Ändern von Datensätzen in Listenform. Dabei läßt sich der Aufbau der Spalten sowie die Datensatz-Selektion frei festlegen.
Eine umfangreiche Beispiel-Applikation zeigt, wie man die Fenstertechnik nutzen kann, um benutzerfreundliche Programme zu schreiben.
CodeBase 4.5
CodeBase ist für den Einsatz unter mehreren Windows-Entwicklungssystemen vorgesehen. Das englische Handbuch beschäftigt sich hauptsächlich mit der Verwendung zusammen mit C/C++. Trotzdem kann mit ihm aber durchaus arbeiten. Denn der Hauptteil davon wird von der Beschreibung der einzelnen Funktionen eingenommen, die bis auf eine durchgängige Namensänderung gleich sind.
Was CodeBase von allen anderen Tools unterscheidet, ist seine vielfältige Kompatibilität. Die Routinen beherrschen das Datenbank- und Index-Format von dBase III/IV, Clipper und Foxpro. Sogar das Multi-Index-Format von dBase IV und Foxpro wird unterstützt. Gerade das macht das Programmieren ja leichter, weil nicht jeder zu einer Datei gehörige Index separat geöffnet werden muß. Beim Dateiöffnen wird ein solcher mehrere Unterindexe enthaltender Index automatisch mitaktiviert. Das verringert Inkosistenzen durch fälschlicherweise nicht mitgeführte Indexe.
DLL Base
Ähnlich wie CodeBase ist DLL Base eine DLL-Bibliothek, die zur Zusammenarbeit mit mehreren Entwicklungssystemen vorgesehen ist. Das Handbuch geht auf die Verwendung zusammen mit C, Turbo Pascal für Windows und Visual Basic ein.
Bei der Aufstellung der einzelnen Befehle wurde anscheinend Wert auf eine möglichst gute Übereinstimmung mit den dBase- und Clipper-Vorgaben gelegt. Ein für Umsteiger sehr hilfreicher Teil des Handbuchs bietet eine Aufstellung von xBase-Befehlen und entsprechenden Routinen von DLL Base, die dieselbe Aufgabe erledigen.
DLL Base unterstützt das Clipper-Format für Indexe. Als Besonderheit, die wohl aus der deutschen Herkunft rührt, kann das System beim Indexaufbau auch eine Duden-konforme Sortierung der Umlaute liefern.
Zum Programmieren mit DLL Base gibt es wenig spektakuläres zu berichten. Das (ähnlich wie in vxBase) dem Vorbild dBase nachempfundene Systemkonzept legt dem Entwickler keine Fallen und erlaubt es, sich auf die wesentlichen Dinge zu konzentrieren.
ObjecTrieve
Als einzige Toolbox kann ObjecTrieve nicht mit einer Datenstruktur im dBase-Format aufwarten. Diese ISAM-Datenbank bietet dafür andere Highlights, die sie deutlich von ihren Mitbewerbern abhebt. Während die anderen nämlich hauptsächlich Funktionsbibliotheken zur Datenbehandlung darstellt, entspricht ObjecTrieve mehr dem grafischen Programmier-Ansatz, der mit Visual Basic verwirklicht wurde. Zumindest, wer das Zusatzprodukt "Database Custom Controls" (DBCC) erwirbt, hat schon in der Entwicklungsoberfläche von Visual Basic erweiterte Möglichkeiten durch zusätzliche Elemente in der Toolbox zur Verfügung. So gibt es hier spezielle Textfelder, die rein äußerlich denen von VB gleichen. Sie repräsentieren jedoch eine feste Verbindung zur Datenbank, so daß die Anzeige oder Änderung von Feldinhalten automatisch geschieht und nicht mehr manuell durch einzelne Zuweisungen erfolgen muß. Auch hat man durch die DBCCs vorgefertigte Buttons für typische Datenbank-Aktionen wie "Öffnen", "Speichern" oder "Nächster Satz" zur Benutzung parat. Die Leistungsmerkmale von ObjecTrieve selbst können aber genauso überzeugen. So unterstützt das Paket zur optimalen Ausnutzung des Plattenspeichers Datensätze variabler Länge. Damit werden die sonst üblichen Leerzeichen in Feldern nicht mit abgespeichert. Ein weiteres Feature, das Transaktionsmanagment, dient der Absicherung durch Störungen. Dabei wird eine beliebig festzulengende Folge von Aktionen erst dann wirksam, wenn sie abgeschlossen ist. Passiert dazwischen ein Fehler, kann man die ganze Transaktion auf den Urzustand bringen, um Konsistenzverletzungen zu vermeiden.
Fazit
Was den vier zuerst vorgestellten, dBase-kompatiblen Toolboxen abgeht, ist die mit Visual Basic vorgeführte leichte Programmierung im Datenbankbereich. Rein funktionell bieten sie die nötige Leistung, um Datenbank-Anwendungen programmieren zu können. Aber genauso wie es Visual Basic selbst vorexerziert hat, genügt die Funktionalität nicht, um mit einem Entwicklungssystemen Erfolg zu haben. Sonst würden wir alle unter C mit Microsoft´s SDK programmieren.
Was fehlt, sind grafische und abstrakte Verfahren in der Programmierung und der Definition von Datenbanken. So mutet heutzutage die Methode, im Programmtext für jedes Feld einer Maske den Inhalt des Datensatzes einzeln herholen zu müssen, eher steinzeitlich an. Man könnte doch einen Datensatz als übergeordnetes Objekt mit entsprechenden Methoden ansehen!
ObjecTrieve sticht in dieser Hinsicht sehr positiv heraus und überträgt, anwenderfreundlich, einen Teil der Objektorientierung in den Bereich der Datenbanken. Dazu muß man allerdings separat die DBCCs erwerben, quasi ein "Tool zum Tool".
Andere sollten dem hier eingeschlagenen Weg folgen und ihn ausbauen.
Gespannt darf man wohl vor allem auf das nun unter der Regie von Borland entstehende dBase für Windows sein. Mit entsprechenden Konzepten ausgestattet, könnte es zu einem ernstzunehmenden Konkurrenten für Visual Basic plus Toolbox werden. Schließlich hat weningstens momentan Borland keinen ernstzunehmenden Gegner für das erfolgreiche Rennpferd Visual Basic im Rennen. Und das ist doch wirklich schade.
Die Zeitschrift "Win" gibts aber nicht mehr, oder?
[Martin | 17.09.2005]
Win hat ihr Erscheinen schon vor einigen Jahren eingestellt. Man
findet den Titel aber noch für Sonderpublikationen am Kiosk.
[Martin Goldmann | 21.09.2005]
Bedingungen für die Kommentareingabe
Hinweis

Note:
4.00