Hi.
Ich mal eine kleine ASP.Net
db-anwendung gemacht: BdpConnection, BdpDataAdapter, DataSet, DataGrid.
Alles ist korrekt verlinkt und wenn ich mit
DataGrid1.DataBind daten hole, dann sind sie auch zu sehen und über die entsprechenden eventHandler kann ich die daten auch editieren.
Allerdings fungiert mein
DataGrid1_UpdateCommand handler nicht richtig
Erstmal den UPDATE
query befehl:
Code:
UPDATE dbo.blog SET blogID = ?, BlogText = ?, userID = ? WHERE blogID = ?
Der ja hoffentlich mit füllen der parameter ergänzt wird!?
der code:
Delphi-Quellcode:
procedure TWebForm1.DataGrid1_UpdateCommand(source: System.Object; e: System.Web.UI.WebControls.DataGridCommandEventArgs);
var iBlogTextColl, iUserIDColl, iBlogIDColl:integer;
begin
iBlogIDColl := 0;
iBlogTextColl := 1;
iUserIDColl := 2;
bdpUpdateCommand1.Parameters.Item['blogText'].Value
:= TextBox(e.Item.Cells[iBlogTextColl].Controls[0]).Text;
bdpUpdateCommand1.Parameters.Item['userID'].Value
:= TextBox(e.Item.Cells[iUserIDColl].Controls[0]).Text;
bdpUpdateCommand1.Parameters.Item['blogID'].Value
:= TextBox(e.Item.Cells[iBlogIDColl].Controls[0]).Text;
bdpUpdateCommand1.Connection.Open;
try
literal1.Text := bdpUpdateCommand1.ExecuteNonQuery.ToString; // <- fehler
finally
bdpUpdateCommand1.Connection.close;
end;
DataGrid1.DataBind;
end;
Die werte kommen mit den controls richtig zurück, mein einziges problem is das zurück schreiben! Alle hilfe texte schweigen sich darüber aus, bis auf der der
SDK, aber die arbeiten da mit einer 'in-memory-
db' und das ist deswegen ganz anders.
Der fehler lautet wie folgt:
Zitat von
Cassini:
Ausführung misslungen. Fehler bei einem aus mehreren Schritten bestehenden
OLE DB-Vorgang. Prüfen Sie die einzelnen
OLE DB-Statuswerte, falls vorhanden. Daten wurden nicht verarbeitet .
Was sind
DB-Statuswerte? Und wie bekomme ich meine daten wieder in die
DB?
Weiss jemand rat?
Bitte helft mir
mâxîmôv.
{KDT}