bitroom - CSharp C# - Tips und Tricks rund um C#

Snippets
Code Snippets
Open Object Database
Open Object Catalog Was ist die Open Object Database? Open Object Namenskonvention
Objekt Suche
 

Technik
C# / .NET SOA Pentaho JBoss AJAX PHP Klassen Java Tutorials MySQL - Replikation MySQL 5 - Datenbank Internet Provider Suchmaschinen Optimierung
Bereiche
News Projekte Links
Kommunikation
Weblog / Blog
Glossar
LAMP PHP XAMPP
Fragen, Kritik oder Kommentare? Dann schreib einfach eine Email an alex[at]bitroom.de

C# Programmier Beispiele - C# DataSet - DataSet FAQ / DataSet Code Samples

Was ist ein DataSet

Ein DataSet ist ein Windows Object aus dem .NET Framework. Das DataSet speichert Daten als auch Metadaten zu diesen Daten und bietet Methoden an, um auf diese Daten zuzugreifen. Die Daten können dem DataSet manuell oder automatisiert per Datenbankabrage hinzugefügt werden. Neben den Methoden und Properties welche die Daten betreffen, verfügt das DataSet auch über Methoden zum Serialisieren der Daten und zum abspeichern des DataSets im lokalen Dateisystem im XML-Format.

Was ist ein DataTable

Der DataTable ist ebenfalls ein Windows Object aus dem .NET Framework und zugleich das wichtigste Object des DataSets. Ein DataSet verfügt über eine DataTable Collection. Jeder DataTable beinhaltet die Daten in Form von Rows und Columns, auf die wir per Index und Columnname zugreifen können. Ebenfalls möglich ist die Selektion von Rows durch SQL ähnliche Kriterien.

Wie erstelle ich ein DataSet mit einem Abstraktionslayer?

Über einen Abstraktionslayer lässt sich ein DataSet befüllen ohne, dass ich für jede in Frage kommende Datenbank eigene Methoden schreiben muss.
Beispiel:
...
using System.Data;
...

//Datenbankverbindun herstellen 

privat DbConnection dbCon;
DbProviderFactory dpfMySQL;

public void initDbConnection(){
  dbCon=new DbConnection();
  DbProviderFactory dpfMySQL =
         DbProviderFactories.GetFactory("MySql.Data.MySqlClient");
  dbCon=dpfMySQL.CreateConnection();
  dbCon.ConnectionString=
         "Database=adressdb;Data Source=localhost;User Id=root;Password=root";
}

public DataSet getDataSet(String sql, String tablename){
  DataSet ds;
  if (dbCon==null){
     Console.out.Writeln("Error, DbConnection not initialized");
     return null;
  }
  try{
	 if (dbCon.State == ConnectionState.Closed)
    {
      dbCon.Open();
    }
    DbDataAdapter adp = dpfMySQL.CreateDataAdapter();
    adp.SelectCommand = dbCon.CreateCommand();
    adp.SelectCommand.CommandText = sql;

    ds = new DataSet();
    adp.Fill(ds,tablename);
	 dbcon.Close();
  }catch(Exception ex){
    Console.Out.WriteLine("Error getting DataSet ==>" + 
                           ex.Message + " - " + ex.StackTrace);
  }
  return ds;
}

public void start(){
  initDbConnection();
  DataSet ds=getDataSet("Select * from person","allpersons");
}

In diesem Beispiel wird die Methode start() aufgerufen.
Start ruft initDbConnection auf, um eine Verbindung zu einer Datenbank herzustellen.
dann wird die Methode getDataSet aufgerufen, welche ein DataSet zurückliefert. Das DataSet beinhaltet danach einen DataTable namens "person", welcher alle Zeilen der SQL-Abfrage "select * from person" beherbergt.


New Objects in Database
TEMP_1NEU!
Shortdesc
Datum: 2009-08-16 14:08:51
Show Object

testobjectNEU!
object for testing
Datum: 2009-01-14 21:01:05
Show Object

Code Samples
CSharp C# Datenbank C# DataSet C# HTML Editor C# Tips & Tricks
LAMP/LAMPS Links
XAMPP Apache Webserver PHP Download MySQL Datenbank OpenSSL ModSSL LAMPS Tutorial
IT - News
Golem Heise Verlag
Fun Stuff
Autsch Lustige Stories Hackfressen
(c)2005 bitroom