SqlDataSourceCommandEventArgsとは? わかりやすく解説

SqlDataSourceCommandEventArgs クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

SqlDataSource コントロールの Updating イベント、Deleting イベント、および Inserting イベントデータ提供します

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class SqlDataSourceCommandEventArgs
    Inherits CancelEventArgs
Dim instance As SqlDataSourceCommandEventArgs
public class SqlDataSourceCommandEventArgs
 : CancelEventArgs
public ref class SqlDataSourceCommandEventArgs
 : public CancelEventArgs
public class SqlDataSourceCommandEventArgs
 extends CancelEventArgs
public class SqlDataSourceCommandEventArgs
 extends CancelEventArgs
解説解説

イベント ハンドラ デリゲート追加してUpdatingInsertingDeleting の各イベント処理することにより、別途プリプロセスを実行したり、データベース コマンドそのものキャンセルしたできます

SqlDataSourceCommandEventArgs クラスは CancelEventArgs クラスから派生しているため、Cancel プロパティtrue設定することによって、保留中の SqlDataSource データベース コマンドキャンセルできますCommand プロパティ公開している DbCommand オブジェクトアクセスすることで、コマンド実行する前に、CommandText、Parameters コレクション、および、その他のコマンド プロパティチェックし必要に応じてプロパティ操作できます

SqlDataSourceCommandEventArgs クラスを、OnUpdating メソッド、OnInserting メソッド、および OnDeleting メソッド使用することにより、SqlDataSource データベース コマンド実行前にアクセスできますSqlDataSource コントロールは、データ操作過程で、基になるデータ オブジェクト操作する際に利用できる数多くイベント公開してます。次の表は、SqlDataSource コントロール使用したデータ操作一連の流れ対応するさまざまなイベントわかりやすく紹介するために、各種イベントと、個々イベント対応する EventArgs、およびイベント ハンドラ クラスをまとめたものです。

イベント

イベント引数

イベント ハンドラ

Selecting はデータ取得され前に発生します

SqlDataSourceSelectingEventArgs

SqlDataSourceSelectingEventHandler

InsertingUpdating、および、Deleting は、それぞれ挿入更新削除の各操作実行される前に発生します

SqlDataSourceCommandEventArgs

SqlDataSourceCommandEventHandler

Selected、Inserted、UpdatedDeleted は、それぞれデータ取得挿入更新削除の各操作完了した後で発生します

SqlDataSourceStatusEventArgs

SqlDataSourceStatusEventHandler

使用例使用例

DropDownList コントロールで、Microsoft SQL Server データベースから取得したデータ表示しTextBox コントロール使用してレコード更新する方法次のコード例示します。この例は、SqlDataSource コントロール使用したデータ更新時に、DbTransaction オブジェクト使用してトランザクションコンテキスト追加する方法示してます。

<%@Page  Language="VB" %>
<%@Import Namespace="System.Data"
 %>
<%@Import Namespace="System.Data.Common"
 %>
<%@Import Namespace="System.Diagnostics"
 %>
<!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_Click(ByVal source As
 Object, ByVal e As EventArgs)
        SqlDataSource1.Update()
 End Sub 'On_Click

 Sub On_Sql_Updating(ByVal source As
 Object, ByVal e As SqlDataSourceCommandEventArgs)
     Dim command as DbCommand
     Dim connection as DbConnection
     Dim transaction as DbTransaction
     
     command    = e.Command
     connection = command.Connection     
     connection.Open()     
     transaction = connection.BeginTransaction()
     command.Transaction = transaction
 
 End Sub 'On_Sql_Updating
 
 Sub On_Sql_Updated(ByVal source As
 Object, ByVal e As SqlDataSourceStatusEventArgs)
 
    Dim command As DbCommand
    Dim transaction As DbTransaction
    
    command = e.Command
    transaction = command.Transaction
    
    ' In this code example the OtherProcessSucceeded variable represents
    ' the outcome of some other process that occurs whenever the data
 is 
    ' updated, and must succeed for the data change to be committed.
 For 
    ' simplicity, we set this value to true. 
    Dim OtherProcessSucceeded as Boolean
 = True
    
    If (OtherProcessSucceeded) Then
        transaction.Commit()
        Label2.Text="The record was updated successfully!"
    Else    
        transaction.Rollback()
        Label2.Text="The record was not updated."
    End If
 End Sub ' On_Sql_Updated
</SCRIPT>

<HTML>
  <BODY>
    <FORM runat="server">
      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT EmployeeID, LastName, Address
 FROM Employees"
          UpdateCommand="UPDATE Employees SET Address=@Address
 WHERE EmployeeID=@EmployeeID"
          OnUpdating="On_Sql_Updating"
          OnUpdated ="On_Sql_Updated">
          <UpdateParameters>
              <asp:ControlParameter Name="Address"
 ControlId="TextBox1" PropertyName="Text"/>
              <asp:ControlParameter Name="EmployeeID"
 ControlId="DropDownList1" PropertyName="SelectedValue"/>
          </UpdateParameters>
      </asp:SqlDataSource>

      <asp:DropDownList
          id="DropDownList1"
          runat="server"
          DataTextField="LastName"
          DataValueField="EmployeeID"
          DataSourceID="SqlDataSource1">
      </asp:DropDownList>

      <P>
      <asp:Label id="Label1" runat="server"
 Text="Enter a new address for the selected user."
 />
      <asp:TextBox id="TextBox1" runat="server"
 />
      <asp:Button id="Submit" runat="server"
 Text="Submit" OnClick="On_Click"
 />

      <P><asp:Label id="Label2" runat="server"
 Text="" />

    </FORM>
  </BODY>
</HTML>
<%@Page  Language="C#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<%@Import Namespace="System.Data.SqlClient" %>
<%@Import Namespace="System.Diagnostics" %>
<!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 On_Click(Object source, EventArgs
 e) {    
    SqlDataSource1.Update();
 }

 private void OnSqlUpdating(Object source,
 SqlDataSourceCommandEventArgs e) {
    DbCommand command = e.Command;
    DbConnection cx  = command.Connection;    
    cx.Open();    
    DbTransaction tx = cx.BeginTransaction();
    command.Transaction = tx;
 }

 private void OnSqlUpdated(Object source, SqlDataSourceStatusEventArgs
 e) {
    DbCommand command = e.Command;
    DbTransaction tx = command.Transaction;
    
    // In this code example the OtherProcessSucceeded variable represents
    // the outcome of some other process that occurs whenever the data
 is 
    // updated, and must succeed for the data change to be committed.
 For 
    // simplicity, we set this value to true. 
    bool OtherProcessSucceeded = true;
    
    if (OtherProcessSucceeded) {
        tx.Commit();
        Label2.Text="The record was updated successfully!";
    }
    else {
        tx.Rollback();
        Label2.Text="The record was not updated.";
    }
 }

</SCRIPT>

<HTML>
  <BODY>
    <FORM runat="server">
      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees"
          UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID"
          OnUpdating="OnSqlUpdating"
          OnUpdated ="OnSqlUpdated">
          <UpdateParameters>
              <asp:ControlParameter Name="Address" ControlId="TextBox1"
 PropertyName="Text"/>
              <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1"
 PropertyName="SelectedValue"/>
          </UpdateParameters>
      </asp:SqlDataSource>

      <asp:DropDownList
          id="DropDownList1"
          runat="server"
          DataTextField="LastName"
          DataValueField="EmployeeID"
          DataSourceID="SqlDataSource1">
      </asp:DropDownList>

      <P>
      <asp:Label id="Label1" runat="server" Text="Enter
 a new address for the selected user."
 />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit"
 OnClick="On_Click" />

      <P><asp:Label id="Label2" runat="server" Text=""
 />

    </FORM>
  </BODY>
</HTML>
<%@Page  Language="VJ#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<%@Import Namespace="System.Diagnostics" %>
<!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 On_Click(Object source, System.EventArgs
 e)
    {
        try {
            SqlDataSource1.Update();
        }
        catch (System.Exception except) {
            // Handle Exception
        }
    
        Label2.set_Text("The record was updated successfully!");
    } //On_Click

    private void OnSqlUpdate(Object source,
 SqlDataSourceCommandEventArgs e)
    {
        // Log the command in the Event Log on the Web server.
        String logInfo = e.get_Command().get_CommandText() 
            + " is being submitted to the database.";
        
        IEnumerator ie = e.get_Command().get_Parameters().GetEnumerator();
        while (ie.MoveNext()) {
            DbParameter param = ((DbParameter)(ie.get_Current()));
            logInfo = logInfo + " " + param.get_ParameterName()+ "="
 
            + param.get_Value();
        }

        EventLog log = new EventLog();
        log.set_Log("Application");
        log.set_Source("ASP.NET Example");
        log.WriteEntry(logInfo);
    } //OnSqlUpdate    

</SCRIPT>

<HTML>
  <BODY>
    <FORM runat="server">
      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial
 Catalog=Northwind;"
          SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees"
          UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID"
          OnUpdating="OnSqlUpdate">
          <UpdateParameters>
              <asp:ControlParameter Name="Address" ControlId="TextBox1"
 PropertyName="Text"/>
              <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1"
 PropertyName="SelectedValue"/>
          </UpdateParameters>
      </asp:SqlDataSource>

      <asp:DropDownList
          id="DropDownList1"
          runat="server"
          DataTextField="LastName"
          DataValueField="EmployeeID"
          DataSourceID="SqlDataSource1">
      </asp:DropDownList>

      <P>
      <asp:Label id="Label1" runat="server" Text="Enter
 a new address for the selected user."
 />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit"
 OnClick="On_Click" />

      <P><asp:Label id="Label2" runat="server" Text=""
 />

    </FORM>
  </BODY>
</HTML>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.EventArgs
     System.ComponentModel.CancelEventArgs
      System.Web.UI.WebControls.SqlDataSourceCommandEventArgs
         System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlDataSourceCommandEventArgs メンバ
System.Web.UI.WebControls 名前空間
SqlDataSourceCommandEventHandler
SqlDataSourceView
SqlDataSource クラス
OnUpdating
OnInserting
OnDeleting

SqlDataSourceCommandEventArgs コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

データベース コマンド オブジェクト指定して、SqlDataSourceCommandEventArgs クラス新しインスタンス初期化します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    command As DbCommand _
)
Dim command As DbCommand

Dim instance As New SqlDataSourceCommandEventArgs(command)
public SqlDataSourceCommandEventArgs (
    DbCommand command
)
public:
SqlDataSourceCommandEventArgs (
    DbCommand^ command
)
public SqlDataSourceCommandEventArgs (
    DbCommand command
)
public function SqlDataSourceCommandEventArgs
 (
    command : DbCommand
)

パラメータ

command

キャンセル可能な Update コマンドInsert コマンド、または Delete コマンドを表す DbCommand オブジェクト

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlDataSourceCommandEventArgs クラス
SqlDataSourceCommandEventArgs メンバ
System.Web.UI.WebControls 名前空間
Update
Insert
Delete

SqlDataSourceCommandEventArgs プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

SqlDataSourceCommandEventArgs クラス
System.Web.UI.WebControls 名前空間
SqlDataSourceCommandEventHandler
SqlDataSourceView
SqlDataSource クラス
OnUpdating
OnInserting
OnDeleting

SqlDataSourceCommandEventArgs メソッド


SqlDataSourceCommandEventArgs メンバ

SqlDataSource コントロールの Updating イベント、Deleting イベント、および Inserting イベントデータ提供します

SqlDataSourceCommandEventArgs データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド SqlDataSourceCommandEventArgs データベース コマンド オブジェクト指定して、SqlDataSourceCommandEventArgs クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SqlDataSourceCommandEventArgs クラス
System.Web.UI.WebControls 名前空間
SqlDataSourceCommandEventHandler
SqlDataSourceView
SqlDataSource クラス
OnUpdating
OnInserting
OnDeleting



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SqlDataSourceCommandEventArgs」の関連用語

SqlDataSourceCommandEventArgsのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SqlDataSourceCommandEventArgsのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS