Frage zu DataAdapter und DataTable

21/12/2007 - 15:03 von M.Erlinger | Report spam
Hallo

wenn ich eine neue DataTable erzeugen möchte, als Basis eine Tabelle aus
der Datenbank - ist dies nur mögich, in dem ich
DataAdap.Fill( dtMyTable ) -
ausführe ??
oder bekomme ich das Schema der DAtenbank-Tabelle auch auf einen anderen
Weg in meine DataTable ??


Danke schon mal für eine Info
Grüße
Michael
 

Lesen sie die antworten

#1 Carl Schaffert
21/12/2007 - 16:25 | Warnen spam
Hallo Michael,

"M.Erlinger" schrieb im Newsbeitrag
news:
Hallo

wenn ich eine neue DataTable erzeugen möchte, als Basis eine Tabelle aus
der Datenbank - ist dies nur mögich, in dem ich DataAdap.Fill(
tMyTable ) -
ausführe ??



Nein, das ist nicht unbedingt notwendig, du könntest auch mit dem DataReader
arbeiten...

oder bekomme ich das Schema der DAtenbank-Tabelle auch auf einen anderen
Weg in meine DataTable ??




Geht es um SchemaObjekte??

Hier mal ein Beispiel, wo du dich nicht mit dem DataReader direkt rum
schlagen musst:

erstelle dir eine Adapter-Klasse:
public class CustDataAdapter : System.Data.Common.DbDataAdapter
{
public int FillFromReader(DataTable dataTable, IDataReader
dataReader)
{
return base.Fill(dataTable, dataReader);
}
}

und eine Methode der du nur das SQL-Command übergeben musst die dir ein
DataTable zurück liefert:
public static DataTable DataTable(string sqlCmd)
{
DataTable dt = new DataTable();
string cnString =
Properties.Settings.Default.AdventureWorksConnectionString;

System.Data.SqlClient.SqlConnection cn = new
System.Data.SqlClient.SqlConnection(cnString);
cn.Open();

System.Data.SqlClient.SqlCommand cmd = new
System.Data.SqlClient.SqlCommand(sqlCmd, cn);
IDataReader dr = cmd.ExecuteReader();

CustDataAdapter da = new CustDataAdapter();
da.FillFromReader(dt, dr);
cn.Close();
return dt;
}

das war es dann schon, wenn du mit den Frameworks 3.0/3.5 arbeitest gàbe es
noch andere Möglichkeiten... z.B. Extensions mit der du dein DataTable
erweiterst... na ja, und noch einige weitere Gimiks ;-)


Viele Grüße Carl

Ähnliche fragen