![]() |
BDP daten 'UPDATEN'
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:
Der ja hoffentlich mit füllen der parameter ergänzt wird!?
UPDATE dbo.blog SET blogID = ?, BlogText = ?, userID = ? WHERE blogID = ?
der code:
Delphi-Quellcode:
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.
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; Der fehler lautet wie folgt: Zitat:
Weiss jemand rat? Bitte helft mir :-D |
Re: BDP daten 'UPDATEN'
Der BDP ist nicht in der Lage Parameter nach Namen zu verwalten.
Du solltest also am besten mal einfach versuchen, die Werte in der Reihefolge zu übergeben, die sie im Statement haben. Ich habe das jetzt mal auf die Schnelle hingetippt ( und durch einen SourceFormatter gejagt ;) ).
Delphi-Quellcode:
Falls auch das nicht geht, versuche das ganze mal in einer WinForms App. Geht es dort, dann teste den ISS.
var
prmBlogID, prmBlogText, prmUserID :BdpParameter begin with bdpUpdateCommand1 Do Begin with Paraneters Do Begin prmBlogID := Add('BlogID' , bdptype.Int32); prmBlogText := Add('BlogText', bdptype.String); prmUserID := Add('UserID' , bdptype.String); End; with e.Item do begin prmBlogID.Direction := ParameterDirection.Input; prmBlogID.Value := TextBox(Cells[iBlogTextColl].Controls[0]).Text; prmBlogText.Direction := ParameterDirection.Input; prmBlogText.Value := TextBox(Cells[iBlogTextColl].Controls[0]).Text; prmUserID.Direction := ParameterDirection.Input; prmUserID.Value := TextBox(Cells[[iUserIDColl].Controls[0]).Text; End; Connection.Open; try ExecuteNonQuery; finally Connection.close; end; end; DataGrid1.DataBind; end; Geht es auch dort, bockt mal ausnahmsweise nicht der BDP, sondern der Cassini. ;) |
Re: BDP daten 'UPDATEN'
Das sieht ja schonmal interessant aus. Die benannten-parameter scheinen aber schon zu existieren, denn wenn ich sie über einen falschen string-index anspreche, dann meckern sie auch...
Kann es jetzt leider nicht testen. Werde das problem zuhause mal mit einer winForms-anwendung isolieren. Danke für deine mühe! Bis bald...sehr bald :wink: |
Re: BDP daten 'UPDATEN'
Vielleicht könntet ihr mal posten, wie ihr es erfolgreich geschaft habt einen UPDATE befehl an den SQL server zu schicken...oder wie ihr vorgehen würdet! Komm hier nämlich nicht so recht weiter :?
|
Re: BDP daten 'UPDATEN'
Wenn ich morgen gute Laune habe, nehme ich mir mal den BDP vor. ;)
Für den Zugriff auf den SQL Svr gibt es aber extra die SQLConnection, SQLDataAdpater,... |
Re: BDP daten 'UPDATEN'
Das wäre natürlich spitzenmässig :-D ...hab jetzt erstmal die BDP genommen weil ich dazu wenigstens ein bischen was gefunden habe, wenn es ohne das Borland zeug geht wärs natürlich auch nicht schlecht, anderer seits hat die BDP vermutlich die bessere integration in delphi...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz