Verwenden des ADOData-Steuerelements
Das ADOData-Steuerelement verwendet Microsoft ActiveX Data Objects (ADO), um schnell eine Verbindung zwischen einem datengebundenen Steuerelement und einem Datenanbieter herzustellen. Ein datengebundenes Steuerelement ist jedes Steuerelement, das über eine DataSource-Eigenschaft verfügt. Der Datenanbieter kann jede Datenquelle sein, die der OLEDB-Spezifikation entspricht. Mit den Klassenmodulen von Visual Basic können Sie auch problemlos Subset-Datenprovider erstellen.
Obwohl Sie ActiveX-Datenobjekte direkt in Ihrer Anwendung verwenden können, bietet das ADOData-Steuerelement den Vorteil, dass es ein grafisches Steuerelement (mit „Vorwärts“- und „Rückwärts“-Schaltflächen) und eine benutzerfreundliche Oberfläche ist, die es Ihnen ermöglicht, mit minimalem Code zu erstellen eine Datenbankanwendung.
In der „Toolbox“ von Visual Basic können viele Steuerelemente als datengebundene Steuerelemente verwendet werden, darunter Kontrollkästchen, Kombinationsfelder, Bilder, Beschriftungen, Listenfelder, Bildfelder und Textfeldsteuerelemente. Darüber hinaus enthält Visual Basic auch mehrere ActiveX-Steuerelemente zur Datenbindung, z. B. DataGrid-, DataCombo-, Chart- und DataList-Steuerelemente. Benutzer können auch ihre eigenen datengebundenen ActiveX-Steuerelemente erstellen oder Steuerelemente von anderen Entwicklern erwerben.
Frühere Versionen von Visual Basic stellten intrinsische Datensteuerelemente und RemoteData-Steuerelemente (RDC) für den Datenzugriff bereit. Beide Steuerelemente sind weiterhin in Visual Basic enthalten, um Abwärtskompatibilität zu gewährleisten. Da ADO jedoch anpassungsfähiger ist, wird empfohlen, dass Benutzer das ADOData-Steuerelement verwenden, um neue Datenbankanwendungen zu erstellen.
Weitere Informationen Eine vollständige Liste der datengebundenen Steuerelemente finden Sie unter „An ADOData-Steuerelemente gebundene Steuerelemente“. Informationen zur Verwendung dieser intrinsischen Datensteuerelemente oder des RemoteData-Steuerelements finden Sie unter „Verwenden von Datensteuerelementen“ oder „Verwenden von RemoteData-Steuerelementen“. Weitere Informationen zum Erstellen von Datenanbietern finden Sie unter „Datenbewusstseinsklassen erstellen“.
Mögliche Verwendung
Stellen Sie eine Verbindung zu einer lokalen oder Remote-Datenbank her.
Öffnet eine angegebene Datenbanktabelle oder definiert eine Reihe von Datensätzen basierend auf einer SQL-Abfrage (Structured Query Language), einer gespeicherten Prozedur oder einer Ansicht einer Tabelle in der Datenbank.
Übergeben Sie die Werte eines Datenfelds an datengebundene Steuerelemente, wo sie angezeigt oder geändert werden können.
Fügen Sie neue Datensätze hinzu oder aktualisieren Sie eine Datenbank basierend auf Änderungen an den im gebundenen Steuerelement angezeigten Daten.
Um eine Client- oder Front-End-Datenbankanwendung zu erstellen, fügen Sie dem Formular das ADOData-Steuerelement sowie alle anderen erforderlichen Visual Basic-Steuerelemente hinzu. Sie können je nach Bedarf mehrere ADOData-Steuerelemente in einem Formular platzieren. Bitte beachten Sie jedoch, dass dieses Steuerelement eine eher „teure“ Möglichkeit zum Erstellen von Verbindungen ist und verwendet werden sollte, wenn das erste Steuerelement mindestens zwei Verbindungen hat und jedes nachfolgende Steuerelement mindestens eine weitere Verbindung hat.
Erstellen Sie eine Front-End-Datenbankanwendung mit minimalem Code
Durch das Festlegen einiger Eigenschaften zur Entwurfszeit können Sie eine Datenbankanwendung mit minimalem Code erstellen. Wenn Sie eine OLEDB-Datenquelle verwenden, muss der entsprechende Microsoft DataLinkName (.MDL) auf Ihrem Computer erstellt werden. Ein Schritt-für-Schritt-Beispiel finden Sie unter „Erstellen des OLEDBDataLink von Northwind“.
So erstellen Sie eine einfache Front-End-Datenbankanwendung:
1. Platzieren Sie ein ADOData-Steuerelement auf dem Formular (der Tooltip des Symbols lautet ADODC). Wenn sich das Steuerelement nicht in der „Toolbox“ befindet, drücken Sie die STRG-T-Taste, um das Dialogfeld „Teile“ anzuzeigen. Klicken Sie im Dialogfeld Komponenten auf MicrosoftADODataControl.
2. Klicken Sie in der „Toolbox“ auf „ADOData Control“. Drücken Sie dann die Taste F4, um das Eigenschaftenfenster anzuzeigen.
3. Klicken Sie im Eigenschaftenfenster auf ConnectionString, um das Dialogfeld ConnectionString anzuzeigen.
4. Wenn Sie eine Microsoft DataLink-Datei (.MDL) erstellt haben, wählen Sie „OLEDB-Datei verwenden“ und klicken Sie auf „Durchsuchen“, um die Datei auf Ihrem Computer zu suchen. Wenn Sie einen DSN verwenden, klicken Sie auf „ODBC-Datenquellennamen verwenden“ und wählen Sie einen DSN aus dem Feld aus oder klicken Sie auf „Neu“, um einen zu erstellen. Wenn Sie eine Verbindungszeichenfolge erstellen möchten, wählen Sie „Verbindungszeichenfolge verwenden“ aus, klicken Sie auf „Generieren“ und verwenden Sie dann das Dialogfeld „Datenverknüpfungseigenschaften“, um eine Verbindungszeichenfolge zu erstellen. Klicken Sie nach dem Erstellen der Verbindungszeichenfolge auf OK. Die ConnectionString-Eigenschaft wird mit einer Zeichenfolge ähnlich der folgenden Zeile gefüllt:
Driver={SQLServer};server=bigsmile;uid=sa;pwd=pwd;database=pubs
5. Stellen Sie im Fenster „Eigenschaften“ die Eigenschaft „Datenquelle“ auf eine SQL-Anweisung ein. Beispiel: SELECT*FROMTitlesWHEREAuthorID=72 Beim Zugriff auf eine Tabelle sollten Sie immer eine WHERE-Klausel einschließen. Andernfalls würde die gesamte Tabelle gesperrt, was eine ernsthafte Behinderung für andere Benutzer darstellen würde.
6. Platzieren Sie ein weiteres „Textfeld“-Steuerelement im Formular, um Datenbankinformationen anzuzeigen.
7. Legen Sie im Fenster „Eigenschaften“ die Eigenschaft „Datenquelle“ von Text1 auf den Namen des ADOData-Steuerelements (ADODC1) fest. Dadurch werden das Textfeld und das ADOData-Steuerelement miteinander verbunden.
8. Klicken Sie im Fenster „Eigenschaften“ auf „Datenfelder“, um eine Dropdown-Liste der verfügbaren Felder zu erhalten. Klicken Sie auf den Namen des Feldes, das Sie anzeigen möchten.
9. Wiederholen Sie die Schritte 6, 7 und 8 für jedes andere Feld, auf das Sie zugreifen möchten.
10. Drücken Sie die Taste F5, um die Anwendung auszuführen. Der Benutzer kann die vier Pfeilschaltflächen im ADOData-Steuerelement verwenden, um den Anfang der Daten oder das Ende des Datensatzes zu erreichen oder innerhalb der Daten von einem Datensatz zum anderen zu wechseln.
Legen Sie ConnectionString, Source, DataSource und DataField im Programm fest. Der folgende Code zeigt, wie diese vier Eigenschaften im Programm festgelegt werden. Beachten Sie, dass Sie die Set-Anweisung verwenden müssen, um die DataSource-Eigenschaft festzulegen.
PRivateSubForm_Load()
MitADODC1
.ConnectionString=driver={SQLServer};&_
server=bigsmile;uid=sa;pwd=pwd;database=pubs
.RecordSource=Select*FromTitlesWhereAuthorID=7
EndWith
SetText1.DataSource=ADODC1
Text1.DataField=Titel
EndSub
ADOData-Steuerelementereignisse
Das ADOData-Steuerelement bietet mehrere programmierbare Ereignisse. Die folgende Tabelle beschreibt diese Ereignisse und wann sie auftreten. Diese Tabelle ist jedoch keine vollständige Liste aller Bedingungen für das Auftreten dieser Ereignisse. Ausführlichere Informationen finden Sie in den einzelnen Veranstaltungsreferenzthemen.
Weitere Informationen zur schrittweisen Verwendung des ADOData-Steuerelements finden Sie unter „Erstellen einer einfachen Datenbankanwendung mit dem DataGrid und dem ADO-Datensteuerelement“, „Erstellen einer einfachen DataCombo-Anwendung“ und „Erstellen eines mit einer DataList verbundenen DataGrids“. Kontrolle."
Legen Sie datenbankbezogene Eigenschaften des ADOData-Steuerelements fest
Beim Erstellen einer Verbindung können Sie eine von drei Quellen verwenden: eine Verbindungszeichenfolge, eine OLEDB-Datei (.MDL) oder einen ODBC-Datenquellennamen (DSN). Wenn Sie DSN verwenden, müssen Sie keine anderen Eigenschaften des Steuerelements ändern.
Wenn Sie jedoch mehr über Datenbanktechnologie wissen, können Sie einige andere Eigenschaften ändern, die im ADOData-Steuerelement angezeigt werden. In der folgenden Liste werden einige der datenbankbezogenen Eigenschaften dieses Steuerelements beschrieben. Diese Liste schlägt auch die logische Reihenfolge vor, in der diese Eigenschaften festgelegt werden.
Beachten Sie, dass die Datenbanktechnologie komplex ist und die folgenden Vorschläge nicht als Regeln gedacht sind.
1.ConnectionString – Die ConnectionString-Eigenschaft ist eine Zeichenfolge, die alle zum Herstellen einer Verbindung erforderlichen Einstellungswerte enthalten kann. Die in dieser Zeichenfolge übergebenen Parameter sind treiberspezifisch. Beispielsweise ermöglicht der ODBC-Treiber, dass die Zeichenfolge den Treiber, den Anbieter, die Standarddatenbank, den Server, den Benutzernamen, das Kennwort usw. enthält.
2.UserName – Der Name des Benutzers. Wenn die Datenbank passwortgeschützt ist, muss dieses Attribut angegeben werden. Ähnlich wie die Provider-Eigenschaft kann diese Eigenschaft im ConnectionString angegeben werden. Wenn sowohl eine ConnectionString-Eigenschaft als auch eine UserName-Eigenschaft bereitgestellt werden, überschreibt der Wert in ConnectionString den Wert der UserName-Eigenschaft.
3.Passwort – auch beim Zugriff auf eine geschützte Datenbank erforderlich. Ähnlich wie beim Provider-Attribut und dem UserName-Attribut wird der in diesem Attribut angegebene Wert überschrieben, wenn im ConnectionString-Attribut ein Kennwort angegeben wird.
4.RecordSource – Diese Eigenschaft enthält normalerweise eine Anweisung, mit der bestimmt wird, welche Informationen aus der Datenbank abgerufen werden sollen.
5.CommandType – Das CommandType-Attribut teilt dem Datenanbieter mit, ob das Source-Attribut eine SQL-Anweisung, der Name einer Tabelle, eine gespeicherte Prozedur oder ein unbekannter Typ ist.
6.CursorLocation – Dieses Attribut gibt die Position des Cursors an, unabhängig davon, ob er sich auf dem Client oder auf dem Server befindet
Vorgesetzter. Diese Entscheidung wirkt sich auf Ihre Einstellungen für die folgenden Eigenschaften aus.
7.CursorType – Das CursorType-Attribut bestimmt, ob der Datensatz ein statischer Typ, ein dynamischer Typ oder ein Tastensatz-Cursortyp ist.
8.LockType – Die LockType-Eigenschaft bestimmt, wie die von Ihnen bearbeiteten Daten gesperrt werden, wenn jemand anderes versucht, sie zu ändern. Das Festlegen dieser LockType-Eigenschaft ist eine komplexe Entscheidung, die von mehreren Faktoren abhängt.
9.Mode – Das Mode-Attribut bestimmt, welche Vorgänge Sie mit dem Recordset ausführen möchten. Wenn Sie beispielsweise nur einen Bericht erstellen möchten, können Sie Leistungsverbesserungen erzielen, indem Sie diese Eigenschaft auf schreibgeschützt setzen.
10.MaxRecords – Diese Eigenschaft bestimmt die Größe des Cursors. Wie der Wert dieser Eigenschaft bestimmt wird, hängt von der Größe der abgerufenen Datensätze und der Menge der verfügbaren Ressourcen (Speicher) auf dem Computer ab. Ein großer Datensatz (einschließlich vieler Spalten und langer Zeichenfolgen) kostet mehr Ressourcen als ein kleiner Datensatz. Daher darf die MaxRecords-Eigenschaft nicht zu groß sein.
11.ConnectionTimeout – Legen Sie die Zeit in Sekunden fest, die auf den Verbindungsaufbau gewartet werden soll. Wenn die Verbindung abläuft, wird ein Fehler zurückgegeben.
12.CacheSize – Das CacheSize-Attribut gibt an, wie viele Datensätze vom Cursor abgerufen werden können. Wenn CursorLocation auf den Client festgelegt ist, kann diese Eigenschaft ohne negative Auswirkungen nur auf eine kleine Zahl (z. B. 1) festgelegt werden. Wenn sich die Cursorposition auf der Serverseite befindet, können Sie diese Zahl an die Anzahl der Zeilen anpassen, die Sie gleichzeitig anzeigen möchten. Wenn Sie beispielsweise das DataGrid-Steuerelement zum Anzeigen von 30 Zeilen verwenden, können Sie CacheSize auf 60 festlegen, sodass Sie scrollen können, ohne weitere Daten abzurufen.
13.BOFAction, EOFAction – Diese beiden Eigenschaften bestimmen das Verhalten des Steuerelements, wenn es sich am Anfang und Ende des Cursors befindet. Zu den verfügbaren Optionen gehören das Bleiben am Anfang oder Ende, das Verschieben zum ersten oder letzten Datensatz oder das Hinzufügen eines neuen Datensatzes (nur am Ende).
An das ADOData-Steuerelement gebundene Steuerelemente
Jedes Steuerelement mit einer DataSource-Eigenschaft kann an ein ADOData-Steuerelement gebunden werden. Die folgenden intrinsischen Steuerelemente können an das ADOData-Steuerelement gebunden werden:
CheckBox
ComboBox
Bild
Etikett
ListBox
PictureBox
TextBox
Die folgenden datengebundenen ActiveX-Steuerelemente sind auch in allen Versionen von Visual Basic verfügbar:
Datenliste
DatenCombo
DataGrid
MicrosoftHierarchicalFlexGrid
RichTextBox
MicrosoftChart
DateTimePicker
ImageCombo
Monatsansicht
Schließlich können Benutzer mithilfe von DataBinding-Objekten ihre eigenen datengebundenen ActiveX-Steuerelemente erstellen.
Weitere Informationen zum Erstellen eigener datengebundener Steuerelemente finden Sie unter „Datengebundene Benutzersteuerelemente erstellen“.
->