Home Windows ecommerce Treiber Server Entwicklung Software Security Internet Hardware Nicht IT Mobile Nintendo Suchen Multimedia Virtualisierung Kopie von Navi01b Provider


ADO.NET

.NET Klassen
ApplikationsTyp
c# (.net)
ADO.NET
ASP.NET
ASP
.Net Zusätze
VBA
Tools
WebClientSeitig
Java
PHP
AJAX
SQL
Google
xml
RegEx
Service
MultiLayer
WSH

-->DataView DataSet

ADO.NET

Connection

string vDataSource=
string vCatalog=
string vIntegratedSecurity=
 

SqlConnection conn = new SqlConnection(...)

Commands

SqlCommand cmd = new SqlCommand("SELECT * FROM tblKunden");

Parametrisieren

  • ParameterName:
  • DbType: Datentyp. Unbedingt angeben da grosser Einfluss auf die Performance der Abfrage.
  • Size: Feldgrösse
  • Value: Wert
  • Direction: Input, Output oder bidirektional
  • Precision:

 

 

using (....)

{DB öffnen, Daten lesen und verarbeiten

}

Stellt sicher, dass auch bei Absturz Closing durchgeführt wird.

Asynchrone Ausführung über Commands

Führt den Code weiter ohne auf das Ergebnis der Datenbank zu warten. Das Ergebnis der Datenbank wird verarbeitet, wenn es dann kommt.

Benötigt eine Ergänzung des Connectionstring (s.110). Dies bewirkt eine Verlangsamung der Zugriffe. Von Vorteil werden bei Verwendung asynchroner Abfragen zwei Connectionstrings vorbereitet um diesen Geschwindigkeitsnachteil zu eliminieren.

DataReader

DataReader ist effizienter in der Datenverarbeitung. Er liest Zeile für Zeile ein.

reader["Description"]; // Zugriff über Spaltenname
reader.GetString(0); //Typisierter Zugriff über Spaltenindex (nicht empfohlen)

DbDataAdapter

Betrifft die Operationen für Daten selektiern, einfügen, ändern und löschen.

Pro Tabelle im Dataset wird ein DataAdapter benötigt.

TableMapping übersetzt die Namen für die Verbindung zwischen DB und Dataset

Fill Methode (Laden von Daten)

Füllt die Tabelle im Dataset mit den Daten aus der Datenbank

Connection kann offen sein, muss aber nicht

Update Methode (Speichern von Daten)

Aktualisiert die Daten in der Datenbank mit den Änderungen aus den Tabellen des Dataset.

categAdapter.Update(myDataSet, "tblKunden");

Fehlerbehandlung der Update Methode

Aufruf von RowUpdatedEvent pro DataRow   (Beispielcode s.117)

Beim Aufruf an Event Handler übergeben:
Continue: Row ist erfolgreich geändert
ErrorsOccured: In Property Errors sind die aufgetretenen Fehler verzeichnet

Batch Update: Im Standard-Fall wird beim Update jede einzelne Zeile an den DB-Server gesendet. Batch Update ist in der Lage mehrere Datensätze zeitgleich an den DB Server zu senden. Dies ist performanter. Bei Batch Update ist kein Antwortergebnis abfangbar. Wenn also z.B. ein vom DB Server generierter PrimaryKey abgefangen werden muss, eignet sich Batch Update nicht.

Provider Factory

AppConfig:

<ConnectionStrings>
   <add name="connStd" ...>
</ConnectionStrings>

 

ConnectionStringSettings s= ConfigurationManager.ConnectionStrings["connStd"];
dbProviderFactory f = DBPrividerFactories.GetFactory(s.ProviderName);
using(DbConnection conn = f.CreateConnection());
dbCommand cmd = conn.CreateCommand();
 

 

 

ConnectionString Settings benötigt Using System.Configuration (References hinzufügen System.Configuration)

 

Transaktionen

Eine Transaktion ist die Zusammenfassung mehrerer Datenbankmanipulationen, welche alle zusammen nur ausgeführt wird, wenn alle auch ausführbar sind. Wenn nur eine der in der Transaktion beteiligten Aktionen nicht statt finden kann, werden alle Transaktionen nicht ausgeführt.

Beispiel: Ein Bezug von Geld von einem Konto, kann nur ausgeführt werden, wenn auch die Gutschrift auf einem anderen Konto erfolgen kann.

Beginn Transaktion
   Bezug von Konto 1
   Gutschrift auf Konto 1

   Wenn Transaktion erfolgreich
      Transaktion.Commit
   Sonst
      Transaktion.Rollback()
   Ende Wenn

End Transaktion

Wenn eine der beiden Aktionen nicht ausgeführt werden kann, findet ein Rollback statt.

 

Isolationslevel der Transaktion

Bestimmt was andere Zugriffe auf die Datenbank erhalten, während eine Transaktion in Ausführung ist.

  • ReadUncommited: Dirty read, daten welche noch nicht commited sind, können gelesen werden.
  • ReadCommited:
  • Repeatable:
  • Serializable: die von einer Transaktion betroffenen Daten sind für andere Zugriffe gesperrt.
  • Snapshot:

 

 

 

 

 


Ihre Werbung hier

 

Haftungsausschluss: Verwendung der Informationen auf Ihre eigene Gefahr. Wir übernehmen keinerlei Haftung. Beachten Sie auch den Haftungsausschluss.


Wenn Sie Wünsche, Anregungen, Verbesserungen, Korrekturen oder sonstige Vorschläge zu dieser FAQ haben: . Wir freuen uns auf Ihr Mail.


 Und jetzt noch ein bisschen Werbung...

Stellensuche, Jobangebote unter www.notizia.ch/stellensuche