Hallo Experten!
.NET 1.1
Ich verwende ein System.Data.Dataset um zwei Tabellen zu halten. Das Dataset fülle ich indem ich zu den Tabellen jeweils den Dataadapter ausführe…
Tabelle 1 -> Tabelle 2 (1:n)
MeinDataSet dataSet = new MeinDataSet();
daTabelle1.Fill(dataSet);
daTabelle2.Fill(dataSet);
Soweit so gut. Nun möchte ich durchgeführte Änderungen wieder in die Datenbank zurückschreiben. Dazu führe ich nach einander die DataAdapter der Tabellen aus…
daTabelle1.Update(dataSet.Tabelle1)
daTabelle2.Update(dataSet.Tabelle2)
Um die 1:n Beziehung auch ohne Cascading Deletes und Cascading Updates zu gewährleisten habe ich obiges Update nun umgeschrieben…
if (dataSet.Tabelle2.GetChanges(DataRowState.Deleted)!=null)
{
daTabelle2.Update(dataSet.Tabelle2.GetChanges(DataRowState.Deleted));
}
if (dataSet.Tabelle1.GetChanges(DataRowState.Deleted)!=null)
{
daTabelle1.Update(dataSet.Tabelle1.GetChanges(DataRowState.Deleted));
}
if (dataSet.Tabelle1.GetChanges(DataRowState.Modified)!=null)
{
daTabelle1.Update(dataSet.Tabelle1.GetChanges(DataRowState.Modified));
}
if (dataSet.Tabelle2.GetChanges(DataRowState.Modified)!=null)
{
daTabelle2.Update(dataSet.Tabelle2.GetChanges(DataRowState.Modified));
}
if (dataSet.Tabelle1.GetChanges(DataRowState.Added)!=null)
{
daTabelle1.Update(dataSet.Tabelle1.GetChanges(DataRowState.Added));
}
if (dataSet.Tabelle2.GetChanges(DataRowState.Added)!=null)
{
daTabelle2.Update(dataSet.Tabelle2.GetChanges(DataRowState.Added));
}
Nun bekomme ich immer wenn die 2te und die 1te Tabelle betroffen ist folgende OdbcException („ERROR [HY007] [Microsoft][ODBC SQL Server Driver]Die verbundene Anweisung ist nicht vorbereitet“)
Ich hoffe jemand hat erfahrung mit ADO.NET in dieser Situation und kann mir einen Rat geben!
Danke im Voraus
Patrick