- - PR -
sqldatasorce のdeletecommand プロパティについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-09-22 11:21
お世話になります。現在 ASP.NET 2.0 のSqldatasorceとGridView を使ってデータの更新と削除を勉強しているのですが、初歩的なところでつまってしまい、途方にくれています。
環境 vs2005expressedition + sqlserver2000 です Sqldatasorce にselectcommand とupdatecommand ,Deletecommand を設定し、削除ボタンと編集ボタンを表示できるようにしました。 更新と削除のパラメータを設定し、実行してみたところ 「更新」は問題なく実行されました。(DBも更新されています) しかし[削除]を押した場合 [変数 '@フードNO' を宣言する必要があります。] というエラーが返ってきます。 コントロールの設定だけで動くものと思っていたのですが、別途コード等を 追記しないといけないものなのでしょうか? よろしくお願いいたします。 下記にエラーとなったコードを記載します。 (イベントハンドラは使用していません。デザイナの設定のみで実行しようとしています) <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:cns1 %>" SelectCommand="SELECT * FROM [tbl_フード]" UpdateCommand="UPDATE tbl_フード SET [フード名]=@フード名, [価格]=@価格 WHERE [フードNO]=@フードNO" DeleteCommand="DELETE FROM tbl_フード WHERE [フードNO]=@フードNO" > <UpdateParameters> <asp:Parameter Name="フード名" /> <asp:Parameter Name="価格" /> <asp:Parameter Name="フードNO" /> </UpdateParameters> <DeleteParameters> <asp:Parameter Name="フードNO" /> </DeleteParameters> </asp:SqlDataSource> <br /> <asp:GridView ID="GridView2" runat="server" DataSourceID="SqlDataSource1" AllowSorting="True" AutoGenerateDeleteButton="True"> <Columns> <asp:CommandField ShowEditButton="True" /> </Columns> </asp:GridView> |
|
投稿日時: 2006-09-22 11:50
ウィザード等を使わずに設定を記述しているのでしょうか?
プロパティから設定してるのかな? 気になるのはDataGridにDataKeyNamesの設定がないことですかね。 DataKeyNamesに"フードNO"を設定してみたらどうでしょう。 |
|
投稿日時: 2006-09-22 12:01
返信ありがとうございます。教えていただいた方法で解決いたしました。
datakeynames を設定せずとも 更新が実行されていたため、こんがらがってしまっていました。 ありがとうございました |
1