Moin,
bevor man Dich hier wegen Blasphemie tot haut oder Du ein schlechtes neues Jahr beginnen musst, weil Dir nicht so weitergeholfen wurde, dass Du weiterkommst, poste ich Dir mal ein bisschen Code.
Wie die anderen schon aussagten, ist die Art und Weise des Zugriffs auf Deine Daten nicht mehr statthaft. Das ist eine Art und Weise, wie Du sie gewohnt bist, und sie funktioniert zwar immer noch, doch geht es bedeutend besser. Wenn Du Dich ein bisschen an .NET und ADO.NET gewöhnt hast, wirst du feststellen, dass Du auf einmal einen ganzen Haufen Positives hast.
Fangen wir einmal an. Du musst für den Zugriff auf Deine Daten eine Connection aufbauen. Gehen wir davon aus, dass Deine Datenbank in "D:\irgendwas\" liegt und "meinedaten.mdb" heißt.
Dim Datenbankpfad As String="D:\irgendwas\meinedaten.mdb" So, nun ist der Datenbankpfad deklariert und Du benötigst jetzt eine Connection zur Datenbank:
Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data" & _
"Source=" & Datenbankpfad) Daten schreibt man in DataTables. Das sind die von FZelle oder DaveS angesprochenen, in den Arbeitsspeicher ausgelesenen Daten. Diese DataTables werden in DataSets gehalten. Jedes DataSet kann also mehrere DataTables beinhalten.
Dim ds As New DataSet Um die Daten aus Deiner Datenbank abzufragen, musst Du natürlich eine Abfrage haben. Wir definieren mal eine:
Dim Abfrage As String="Select * FROM Tabelle WHERE Bedingung" Jetzt benötigst Du einen DataAdapter, um die Daten aus der Tabelle mittels des SQL-Strings und der Connection herauszubekommen:
Dim da As New OleDb.OleDbDataAdapter(Abfrage, cn) Jetzt wollen wir die Daten in eine DataTable des DataSets eintragen. Dazu benutzen wir den DataAdapter und die Fill-Methode. Die DataTable nennen wir "MeineDaten":
da.Fill(ds, "MeineDaten") So, nun hast Du Deine Daten in einer DataTable deines DataSets und kannst darauf zugreifen. Du kannst Deine Datensätze nun z. B. zählen.
Dim i As Integer
i=ds.Tables("MeineDaten").Rows.Count
MessageBox.Show("Es sind " & i & " Datensätze vorhanden!") Du kannst aber auch Deine DataTable durchlaufen und irgendwas damit machen. Dazu definierst Du eine DataRow und iterierst durch Deine DataTable. Hier wird z. B. das Item(0) angezeigt, also die erste DataColumn; Die erste Spalte Deiner DataTable:
Dim dr As DataRow
For Each dr in ds.Tables("MeineDaten").Rows
MessageBox.Show("In der ersten Spalte meiner Tabelle steht drin: " & dr.Item(0))
Next Beschäftige Dich mal damit. Es lohnt sich. Im Gegensatz zu den umständlichen Altmethoden wirst Du feststellen, dass der Datenzugriff via ADO.NET im Endeffekt sehr viele Vorteile bietet!
EALA FREYA FRESENA
Beitrag wurde zuletzt am 30.12.12 um 11:52:25 editiert. |