SqlDataSource.DeleteParameters プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DeleteCommand コントロールに関連付けられた SqlDataSourceView オブジェクトから、SqlDataSource プロパティで使用されるパラメーターを格納するパラメーター コレクションを取得します。
public:
property System::Web::UI::WebControls::ParameterCollection ^ DeleteParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection DeleteParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DeleteParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property DeleteParameters As ParameterCollection
プロパティ値
ParameterCollection プロパティによって使用されるパラメーターを格納している DeleteCommand。
- 属性
例
次のコード例では、Northwind データベースから注文を DeleteCommand 削除するようにテキストを設定する方法を示します。 最初に、データは Orders テーブルから取得され、コントロールに DropDownList 表示されます。 などのDropDownListデータ バインド コントロールを使用する場合は、プロパティをDelete明示的に宣言DeleteParametersし、 メソッドを呼び出す必要があります (や などのGridViewDetailsView他のコントロールとは異なり、パラメーターを自動的に設定し、データ ソース コントロールで を呼び出Deleteします)。 この例では、OnClickイベントはプライベート OnDelete
イベント ハンドラーに委任され、コントロールの SqlDataSource メソッドをDelete明示的に呼び出します。
<%@Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void OnDelete(Object sender, EventArgs e) {
SqlDataSource1.Delete();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT OrderID FROM Orders"
DeleteCommand="DELETE FROM [Order Details] WHERE OrderID=@OrderID;DELETE FROM Orders WHERE OrderID=@OrderID;">
<DeleteParameters>
<asp:ControlParameter Name="OrderID" ControlId="DropDownList1" PropertyName="SelectedValue" />
</DeleteParameters>
</asp:SqlDataSource>
<asp:DropDownList
id="DropDownList1"
runat="server"
DataTextField="OrderID"
DataValueField="OrderID"
DataSourceID="SqlDataSource1">
</asp:DropDownList>
<asp:Button
id="Button1"
runat="server"
Text="Delete Order"
OnClick="OnDelete">
</asp:Button>
</form>
</body>
</html>
<%@Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub On_Delete(ByVal sender As Object, ByVal e As EventArgs)
SqlDataSource1.Delete()
End Sub 'On_Delete
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT OrderID FROM Orders"
DeleteCommand="DELETE FROM [Order Details] WHERE OrderID=@OrderID;DELETE FROM Orders WHERE OrderID=@OrderID;">
<DeleteParameters>
<asp:ControlParameter Name="OrderID" ControlId="DropDownList1" PropertyName="SelectedValue" />
</DeleteParameters>
</asp:SqlDataSource>
<asp:DropDownList
id="DropDownList1"
runat="server"
DataTextField="OrderID"
DataValueField="OrderID"
DataSourceID="SqlDataSource1">
</asp:DropDownList>
<asp:Button
id="Button1"
runat="server"
Text="Delete Order"
OnClick="On_Delete">
</asp:Button>
</form>
</body>
</html>
注釈
プロパティに DeleteCommand パラメーター化された SQL クエリが含まれている場合、 DeleteParameters コレクションには SQL 文字列のパラメーター プレースホルダーに対応する Parameter オブジェクトが含まれます。
注意
コントロールにバインドSqlDataSourceするデータ バインド コントロールに、コレクション内のパラメーター名と一致する名前DeleteParametersが含まれていないBoundFieldことを確認します。 バインドされたフィールドと同じ名前のパラメーターは SQL コマンドから除外され、"パラメーターが指定されませんでした" というエラーが発生する可能性があります。
プロパティが ConflictDetection 値に CompareAllValues 設定されている場合、データの古い値と新しい値の両方に対してパラメーターが作成されます。 古い値のパラメーターには、 プロパティに従って名前が OldValuesParameterFormatString 付けられます。
ADO.NET プロバイダーによっては、コレクション内のパラメーターの順序が DeleteParameters 重要になる場合があります。 プロバイダーと System.Data.Odbc プロバイダーはSystem.Data.OleDb、パラメーター化された SQL クエリでパラメーターが表示される順序に従って、コレクション内のパラメーターを関連付けます。 コントロールの既定の ADO.NET プロバイダーであるプロバイダーSqlDataSourceはSystem.Data.SqlClient、 パラメーターの名前と SQL クエリのプレースホルダーを照合して、コレクション内のパラメーターを関連付けます。 パラメーター化された SQL クエリとコマンドの詳細については、「 SqlDataSource コントロールでのパラメーターの使用」を参照してください。
プロパティは DeleteParameters 、コントロールに DeleteParameters 関連付けられている オブジェクトに SqlDataSourceView 含まれるプロパティを SqlDataSource 取得します。
重要
値は検証なしでパラメーターに挿入されます。これは、セキュリティ上の脅威になる可能性があります。 イベントを Deleting 使用して、クエリを実行する前にパラメーター値を検証します。 詳細については、「スクリプトによる攻略の概要」を参照してください。
適用対象
こちらもご覧ください
.NET