Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Leibniz Universität IT Services | Anja Aue
C# - Einführung in die Programmiersprache
Arbeiten mit ADO.NET
c# - Einführung | 29.06.12 Seite 2
Experteneinstellungen in Visual Studio Express
Extras – Einstellungen – Experteneinstellungen. Es werden zusätzlich die Menüs Erstellen und Umgestalten
eingeblendet.
c# - Einführung | 29.06.12 Seite 3
Einstellungen in den Optionen
c# - Einführung | 29.06.12 Seite 4
Verzeichnis „Projekte und Projektmappe“
Der Standardspeicherort für Projekte und Projektmappen kann eingestellt.
Das Kontrollkästchen Erweiterte Buildkonfiguration anzeigen sollte aktiv sein. Nach Aktivierung dieser Option kann in den Eigenschaften die Konfiguration sowie die Plattform für, welches das Programm optimiert werden soll, ausgewählt werden.
c# - Einführung | 29.06.12 Seite 5
Konfigurations-Manager
Erstellen – Konfigurations-Manager...
c# - Einführung | 29.06.12 Seite 6
Einstellungen für die Nutzung von Datenbanken
… auf einer 64-Bit-Plattform.
Im Kombinationsfeld Aktive Projektmappenplattform wird der Eintrag Neu ausgewählt.
Im dem dazugehörigen Dialogfenster wird in dem ersten Kombinationsfeld x64 ausgewählt.
c# - Einführung | 29.06.12 Seite 7
ADO.NET (ActiveX Data Objects.NET) ...
ist eine Sammlung von Bibliotheken, um mit verschiedenen Datenquellen zu kommunizieren.
nutzt meist als Datenquelle eine Datenbank. ist ein Element aus dem .NET Framework.
c# - Einführung | 29.06.12 Seite 8
… im Web
http://msdn.microsoft.com/de-de/library/e80y5yhx.aspx.
http://msdn.microsoft.com/de-de/library/cc952530. http://www.csharp-station.com/Tutorial/AdoDotNet/lesson01 http://csharp.net-informations.com/ado.net/csharp-ado.net-
tutorial.htm
c# - Einführung | 29.06.12 Seite 9
Benötigte Bibliotheken
using System.Data.OleDb;
Die Bibliothek wird benötigt, um Objekte wie eine Excel-Datei etc. mit einem C# zu verbinden.
O(bject)l(ink and)e(mbedding). Objekte aus der Windows-Welt können mit anderen Objekten verlinkt oder in diese eingebettet werden.
c# - Einführung | 29.06.12 Seite 10
Verbindungsstring
OleDbConnectionStringBuilder b = new OleDbConnectionStringBuilder();
b.Provider = "Microsoft.ACE.OLEDB.12.0";
b.DataSource = @"C:\Users\Teilnehmer\Desktop\dozent_CSharp\ beispiel\code09_Notizen_Datenbank\
datenbank\KundeNotiz.accdb";
Mit Hilfe der Klasse OleDbConnectionStringBuilder wird ein Verbindungsstring für eine OleDb-Verbindung generiert.
Der Parameter .Provider legt die Art der Datenquelle fest. Dem Parameter .DataSource wird der Speicherort und der
Name der Datenquelle übergeben. Für die Pfadangabe wird ein Verbatim-String genutzt.
c# - Einführung | 29.06.12 Seite 11
Möglichkeiten für Provider
Provider Prefix NutzungODBC odbc Ältere Datenbanken
OleDb OleDb Access, Excel etc.
Microsoft.ACE.OLEDB.12.0 Access ab Version 2007
Microsoft.Jet.OLEDB.4.0 Access 2003 und älter
Oracle Oracle Oracle Datenbanken
SQL Sql SQL-Server
c# - Einführung | 29.06.12 Seite 12
Verbindung erstellen
OleDbConnection dbConnect = null;
dbConnect = new OleDbConnection(b.ToString());
Die Klasse OleDbConnection kann genutzt werden, um eine OleDb-Verbindung zu generieren.
Das Objekt bekommt als Startwert null übergeben. Es ist mit keiner Datenquelle verbunden.
Anschließend wird mit Hilfe des erzeugten Verbindungsstrings eine Verbindung zu einer bestimmten Datenquelle erstellt.
c# - Einführung | 29.06.12 Seite 13
Verbindung öffnen und schließen
dbConnect.Open();
dbConnect.Close();
Die Methode .Open() öffnet die Verbindung. Aktionen, die auf einer nicht geöffneten Verbindung ausgeführt werden, erzeugen einen Fehler.
Die Methode .Close() schließt die Verbindung.
Mit Hilfe der Eigenschaft .State kann der Status der Verbindung abgefragt werden. Die Enumeration ConnectionState bietet die verschiedenen Statusmöglichkeiten an.
c# - Einführung | 29.06.12 Seite 14
Arbeitsablauf
Verbindung zu einer Datenquelle erstellen und öffnen.
Senden von SQL-Anweisungen an die Datenquelle. Verbindung zu einer Datenquelle schließen.
c# - Einführung | 29.06.12 Seite 15
OleDbCommand ...
string strSQL = "SELECT * FROM tblMitarbeiter";
oleDbCommand = new OleDbCommand(strSQL, dbConnect);
nutzt SQL-Anweisungen, die in der Datenquelle ausgeführt werden.
ermöglicht ein Lesen oder Schreiben von Daten mit Hilfe einer geöffneten Verbindung.
c# - Einführung | 29.06.12 Seite 16
Auswahlabfragen
string strSQL = "SELECT * FROM tblMitarbeiter";
string strSQL = "SELECT Anrede, Vorname FROM tblKunde";
Auswahlabfragen beginnen mit dem Schlüsselwort SELECT. Dem Schlüsselwort folgt ein Sternchen. Es werden alle Spalten
der Tabelle ausgewählt.
Dem Schlüsselwort folgt eine Liste der gewünschten Spaltennamen. Die Spaltennamen werden durch ein Kommata getrennt.
Dem Schlüsselwort FROM folgt der Namen einer Tabelle.
c# - Einführung | 29.06.12 Seite 17
DataReader
dataReader = oleDbCommand.ExecuteReader();
dataReader.Close();
Die Methode .ExcecuteReader() führt Anweisungen aus die Tabellenspalten zurückliefern.
c# - Einführung | 29.06.12 Seite 18
Daten lesen
while (dataReader.Read())
{
mitarbeiterName = dataReader[2].ToString()
mitarbeiter.Add(dataReader[1].ToString(), mitarbeiterName);
}
Mit Hilfe der Methode .Read() werden Daten aus einer Tabelle zeilenweise gelesen.
Die einzelnen „Spalten“ werden durch den Index angesprochen.
c# - Einführung | 29.06.12 Seite 19
Einfügeabfragen
strQuery = "INSERT INTO tblNotiz
(MitarbeiterNr, Kunde, ErstelltAm)";
strQuery = strQuery + " VALUES (?, ?, ?)";
Einfügeabfragen beginnen mit dem Schlüsselwort INSERT INTO.
Dem Schlüsselwort folgt der Name der Tabelle, in der die Zeile eingefügt werden soll.
Dem Tabellennamen folgen in runden Klammern die Spaltennamen, in denen ein Wert eingefügt werden soll. Die Spaltennamen werden durch Kommata getrennt.
Das Schlüsselwort VALUES bezeichnet eine Liste in runden Klammern, die die zu übergebenden Werte definiert.
c# - Einführung | 29.06.12 Seite 20
Parameter übergeben
strQuery = "INSERT INTO tblNotiz
(MitarbeiterNr, Kunde, ErstelltAm)";
strQuery = strQuery + " VALUES (?, ?, ?)";
oleDbCommand = new OleDbCommand(strQuery, dbConnect);
oleDbCommand.Parameters.Add("MitarbeiterNr",
OleDbType.VarWChar).Value = mitarbeiterNr;
oleDbCommand.Parameters.Add("Kunde",
OleDbType.VarWChar).Value = kundeNr;
oleDbCommand.Parameters.Add("ErstelltAm",
OleDbType.DBDate).Value = erstelltAm;
c# - Einführung | 29.06.12 Seite 21
Hinweise
VALUES (?, ?, ?)definiert eine Liste von Parametern in einer INSERT-INTO-Anweisung. Die zu übergebenen Parameter werden durch die Fragezeichen gekennzeichnet. Die Anzahl der Fragezeichen entspricht der Anzahl der angegebenen Spaltennamen.
Anschließend wird die SQL-Anweisung an die Datenquelle übergeben.
.Parameters ist eine Auflistung von Parametern für die SQL-Anweisung. Mit Hilfe der Methode .Add() werden die Parameter an die auszuführende Anweisung übergeben. Der Methode werden der Spaltennamen sowie der Datentyp übergeben. Der Eigenschaft .Value der angegebenen Spalte wird der Wert übergeben.
c# - Einführung | 29.06.12 Seite 22
DataReader
oleDbCommand.ExecuteNonQuery();
dataReader.Close();
Die Methode .ExcecuteNonReader() führt Anweisungen wie INSERT INTO, UPDATE und DELETE aus.
Die Methode gibt keine Zeilen zurück. Es wird nur die Anzahl der geänderten oder neu hinzugefügten Daten zurückgegeben.