Optimierung von ADOCE für Remote-Database-Anwendungen

Die Methode CDatabase::SeekDB() enthält den Code zur Abfrage der Datenbank und speichert die Tabelle in einer virtuellen Datenbank, die vom Recordset-Objekt deklariert wurde.

Zunächst erstellen wir die Tabelle wie in Listing C beschrieben. Die hat nur bei der Initialisierung der Datenbank Sinn. Tabelle B beschreibt die Felder der Datenbank.

Name Typ Beschreibung
sTitle nvarchar(255) Enthält den Filmtitel, der zwischen 0 und 255 Zeichen lang sein darf
sDesc ntext Enthält die Beschreibung, die nach unserem Code auf 1024 limitiert ist
nHour int Ein 32-bit Integer, der die Anzahl der Stunden enthält, die der Film dauert
nMinute int Ein 32-bit Integer, der die Anzahl der Minuten enthält, die der Film dauert
fRating float Ein 32-bit Float, der die zu einem bestimmten Film abgegebenen Bewertungen enthält

Tabelle B

Den Rückgabewert wählt man nicht aus, denn der Befehl create wird nicht funktionieren, wenn die Tabelle bereits existiert (dies ist ein erwartetes Ergebnis).

An diesem Punkt sollte man sicherstellen, dass Recordset nicht geöffnet ist, denn man öffnet diese Klasse erst am Ende dieses Funktionsaufrufs. Der Code in Listing D sucht nach geöffneten Recordset-Klassen und schließt sie gegebenenfalls.

Der Code in Listing E markiert alle Einträge der Tabelle. Über eine Standard-SQL-Abfrage ruft man diese Daten über die drahtlose Verbindung ab und empfängt sie im Recordset-Objekt.

Bevor wir diese Funktion verlassen, sollte sichergestellt werden, dass die SQL-Tabelle nicht leer ist. Ist sie doch leer, sollte man mit dem in Listing F gezeigten Code eine fehlgeschlagene Boolesche Suche melden.

Themenseiten: Anwendungsentwicklung, Big Data, Datenbank, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Optimierung von ADOCE für Remote-Database-Anwendungen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *