DataTable und TableAdapter unter Bedingung definieren

10/02/2010 - 13:14 von Tamara Mikes | Report spam
Hallo alle zusammen


Ich habe ein TableAdapter taDatenImport und eine DataTable DatenImportDT

Einst hatte ich das folgendermassen programmiert (pos1):



myDataSetTableAdapters.DatenImportTableAdapter taDatenImport = new
myDataSetTableAdapters.DatenImportTableAdapter();
myDataSet.tblDatenImportDataTable DatenImportDT = new
myDataSet.tblDatenImportDataTable();

Danach konnte ich auf die Datenbank zugreifen mit (pos2):

DataRow newRow = DatenImportDT.NewRow();
newRow[vFeldDB - 1] = vAktQuellFeldInhalt;

und speichern mit (pos3)

DatenImportDT.Rows.Add(newRow);
taDatenImport.Update(DatenImportDT);


Das hat alles wunderbar funktioniert.

Jetzt aber muss ich die Daten abwechslungsweise in unterschiedliche Tabellen
schreiben. Einmal muss ich in die tblDatenImport schreiben, einmal in die
tblDatenExport. Die Verarbeitungslogik bleibt dabei die gleiche. Ich weiss
immer in welche Spalte der Tabelle ich die Daten schreiben muss.

ich dachte, ich würde das an Pos1 folgendermassen umformulieren:



//Deklarieren des TableAdapter und der DataTable
TableAdapter taDatenImport = new
myDataSetTableAdapters.DatenImportTableAdapter();
DataTable DatenImportDT = new myDataSet.tblDatenImportDataTable();

// Inizialisieren aufgrund der ZielTabelle
if (vZiel=="import"){
taDatenImport = new myDataSetTableAdapters.DatenImportTableAdapter();
DataTable DatenImportDT = new myDataSet.tblDatenImportDataTable();
} elseif (vZiel == "export") {
taDatenImport = new myDataSetTableAdapters.DatenExportTableAdapter();
DataTable DatenImportDT = new myDataSet.tblDatenExportDataTable();
}

Er reklamiert aber, dass er TableAdapter nicht kennen würde ob ein Verweis
fehlen würde.
Mach ich dann hingegen
myDataSetTableAdapters.DatenImportTableAdapter taDatenImport = new
myDataSetTableAdapters.DatenImportTableAdapter();
dann reklamiert er, dass er im elseif dass er den TableAdapter export nicht
zu import konvertieren könne.



Was muss ich tun, damit ich einmal in die Tabelle und einmal in eine andere
Tabelle schreiben kann? Mein Code in Pos2 ist sehr umfangreich und wir
möchten den eigentlich nicht wegen der Tabellennamen mehrfach schreiben.

Versteht man, was mein Problemchen ist?

Viele liebe Grüsse
Tamara
 

Lesen sie die antworten

#1 Senol Balaban
10/02/2010 - 17:17 | Warnen spam
Hallo Tamara


wir möchten den eigentlich nicht wegen der Tabellennamen mehrfach
schreiben.



Nur mal soviel: Wenn du typisierte DataSets benutzst sind das mehr als nur
Tabellennamen.

Schreib doch dein typisiertes DataSet mit WriteSchema in ein xsd. Und lade
(evtl in einem neuen VS-projekt) das ganze via readschema in normales
DataSet.
Dann kannst du mit den Namen arbeiten.

z.Bsp: DataSet.Tables["Table1"]

wenn du die Tabellennamen als parameter nimmst sollte das machbar sein.

Freundliche Grüsse

Balaban Senol

Ähnliche fragen