Moin,
ich habe ein kleines Problemchen mit dem SQLCommandBuilder. Wenn ich das richtig verstanden habe, ist der ja dafür da, automatisch die passenden Insert, Updates etc. zu generieren, wenn sich etwas ändert und die Update Methode des DataAdapters aufgerufen wird.
Das finde ich schon mal sehr genial
.
Gut aber irgendwie funktioniert das leider nicht
. Zumindest für das Ändern und Löschen, die Inserts funktionieren.
So rufe ich das Update auf:
Delphi-Quellcode:
procedure TWinForm.Update_Click(sender: System.
Object; e: System.EventArgs);
var
builder: SqlCommandBuilder;
begin
SqlDataAdapter1.UpdateCommand :=
nil;
SqlDataAdapter1.InsertCommand :=
nil;
SqlDataAdapter1.DeleteCommand :=
nil;
builder := SqlCommandBuilder.Create(SqlDataAdapter1);
try
SqlDataAdapter1.Update(DataSet1);
except
on ex:
Exception do Messagebox.Show(ex.
Message, '
Fehler');
end;
builder.Dispose;
end;
Wenn ich einen Eintrag im DataGrid (verbunden mit dem DataSet) lösche oder ändere kommen diese Fehlermeldungen:
Zitat:
Löschen:
Dynamische
SQL-Generierung wird für DeleteCommand gegen einen SelectCommand, der keine Spalteninformationen zurückgibt, nicht unterstützt.
Ändern:
Dynamische
SQL-Generierung wird für UpdateCommand gegen einen SelectCommand, der keine Spalteninformationen zurückgibt, nicht unterstützt.
Ich habe ehrlich gesagt keine Ahnung, was mir die Fehlermeldungen sagen sollen