Wie griffe ich auf eine Access Datenbank zu

olcayb

Mitglied
Hallo Community,

ich probiere gerade ein kleines Programm zu schreiben was sowas wie ein Adressbuch werden soll. Ich dachte ich lassen die ganzen Daten in Access Datenbank (Datenbank\db.mdb) schreiben.

Kann mir einer da sagen wie das ganze abläuft oder eine kleine Anleitung geben?

Danke :)
 
Das ganze Thema ist etwas komplexer, kurz:

Für Transaktionen mit einer Acces-DB ist der Namespace System.Data.OleDb vorhanden.

Mit dem enthaltenen Connection Objekt kannst du einer verbindung herstellen, mit dem Command Objekt Befehle gegen die Datenbank ausführen.

Dann gibt es noch DataReader, DataAdapter und DataSets.
Nach diesen Begriffen solltest du einfach mal MSDN durchsuchen, dann wirst du genug finden.

Ich habe dir ein paar Beispieldateien angehangen, aus dem Kochbuchteil von dem Bucn "Visual C# .NET".
Wenn du mit VS.NET arbeitest sind die Projektdateien auch noch darin.
Diese Beispieldateien laufen mit der Beispieldatenbank Nordwind.mdb,
die bei Access dabei sein sollte, einfach in das Ausführungsverzeichnis der
.exe Datei kopieren.
 

Anhänge

  • oledb.rar
    85,5 KB · Aufrufe: 72
Original geschrieben von ClinIC
hi mal ne kurze Zwischenfrage, sorry

Meinst du dieses Buch Visual C Sharp .NET, m. CD-ROM von Walter Doberenz, Thomas Kowalski

Wenn es das Buch ist, wie ist das
Wollte das auch lernen..


Danke
CliniC

Ja, das Buch meine ich.

Für einen absoluten Programmiereinsteiger/OOP-Anfänger ist das Buch wohl etwas zu 'schnell'.
Wenn du allerdings ein kleines bisschen ( Betonung liegt wirklich auf "kleines") Erfahrung mit C# oder ähnlichen Sprachen hast, dann ist es perfekt. Eines der besten Bücher, die ich bis jetzt gelesen habe. Es behandelt
nahezu alle wichtigen Themen, auch ADO.NET, Crystal Reports und ASP.NET (natürlich sollte man dafür dann auf weiter Literatur zurückgreifen, aber es gibt einen einen sehr guten Einblick). den 200-Seiten Kochbuchteil am Ende des Buches habe ich auch schon sehr oft gut brauchen können. Eine 100% Kaufempfehlung, es ist seinen Preis wert.
Es wird allerdings im ganzen Buch mit Windows Anwendungen und Visual Studio.NET gearbeitet. Das solltest du schon besitzen.

NUR wenn du wirklich gerade erst mit dem Programmieren angefangen hast, würde ich dir das Buch "C# in 21 Tagen" empfehlen.

Sorry wegen dem OffTopic
 
Original geschrieben von zovax
Das ganze Thema ist etwas komplexer, kurz:

Für Transaktionen mit einer Acces-DB ist der Namespace System.Data.OleDb vorhanden.

Mit dem enthaltenen Connection Objekt kannst du einer verbindung herstellen, mit dem Command Objekt Befehle gegen die Datenbank ausführen.

Dann gibt es noch DataReader, DataAdapter und DataSets.
Nach diesen Begriffen solltest du einfach mal MSDN durchsuchen, dann wirst du genug finden.

Ich habe dir ein paar Beispieldateien angehangen, aus dem Kochbuchteil von dem Bucn "Visual C# .NET".
Wenn du mit VS.NET arbeitest sind die Projektdateien auch noch darin.
Diese Beispieldateien laufen mit der Beispieldatenbank Nordwind.mdb,
die bei Access dabei sein sollte, einfach in das Ausführungsverzeichnis der
.exe Datei kopieren.

Vielen Dank :) Ich werde es mir anschauen.
 
.

Deine Beispiele haben mir sehr geholfen danke! :) Jetzt habe ich noch eine kleine Frage. Ich habe alle Daten die ich aus der Datenbank hole in einem DataTable und kann mir auch die Datenholen (z.B. den Vornamen).

DataTable dt = ds.Tables["Kontakte"];
listView1.Items.Clear();
foreach (DataRow custRow in dt.Rows)
{
listView1.Items.Add(custRow["Vorname"].ToString());
}

Nun hab ich ein listView was mehrere Colums hat wie z.B. Nachname, Straße etc... daher nun meine Frage:

Wie kann ich die Straße die ich aus dem DataTable auslese auch im listView unter der Colum "Straße" eintragen? Weil es immer direkt unter Vorname kommt -> Siehe Bild im Anhang.
 

Anhänge

  • x.jpg
    x.jpg
    12,2 KB · Aufrufe: 91
Hi,
ich denke am einfachsten ist es, wenn du ein String Feld mit der Anzahl deiner Colums anlegst, dann eine ListViewItem Instanz erzeugst und die in deine Listview einfügst.
Ich weiss zwar nicht wie du deine Daten aus der Datenbank holst, aber ich werd hier mal ne Methode aufzeigen.
Das könnte z.B. so aussehen:

string[] items = new string[Anzahl deiner colums];
ListViewItem lvi;
OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM adressen", deine Connection zur Datenbank);
DataSet ds = new DataSet();
oda.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
items[0] = dr[0].ToString();
items[1] = dr[1].ToString();
items[2] = dr[2].ToString();
items[3] = dr[3].ToString();
items[4] = dr[4].ToString();
.
.
.
lvi = new ListViewItem(items);
DeineListView.Items.Add(lvi)
}

Habs nicht ausprobiert, müsste aber so funktionieren.

Gruss Andre.
 
Zurück