SqlDataSourceCommandEventArgs.Command プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SqlDataSourceCommandEventArgs.Command プロパティの意味・解説 

SqlDataSourceCommandEventArgs.Command プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

保留中のデータベース コマンド取得します

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

Dim instance As SqlDataSourceCommandEventArgs
Dim value As DbCommand

value = instance.Command
public DbCommand Command { get; }
public:
property DbCommand^ Command {
    DbCommand^ get ();
}
/** @property */
public DbCommand get_Command ()

プロパティ
保留中のデータベース コマンドを表す DbCommand オブジェクト

解説解説
使用例使用例

Microsoft SQL Server からデータ取得して GridView コントロール表示する方法と、GridView選択した行の詳細情報表示したり、新しレコード挿入するためのフォームとして DetailsView コントロール使用する方法次のコード例示します

データ最初に GridView コントロール表示され、さらに、GridView選択行が DetailsView表示されます。GridView コントロールおよび DetailsView コントロールは、異なデータ ソース コントロール使用しますDetailsView関連付けられたコントロールは、GridView選択行が確実に表示されるようにする FilterExpression および FilterParameters を持ちます

DetailsView コントロール自動的に生成され挿入ボタンクリックすると、DetailsView は、新しレコード挿入使用する別のユーザー インターフェイス表示します。この例では、ストアド プロシージャ使用してレコード挿入し挿入された行主キー返しますレコード挿入すると、DetailsView は、バインドされた列の値を自動的に InsertParameters コレクション入力しInsert メソッド呼び出します。DetailsView では、BoundField から正しパラメータ推測されます。また、ASP.NET双方向データ バインディング構文使用されている場合は、TemplateField のパラメータ推測されます。この例では、ストアド プロシージャ返される主キー処理するために OnInserting イベント ハンドラパラメータ追加されます。

最後にDetailsView によってデータベースデータ挿入され後で、Inserted イベント処理する OnInserted イベント ハンドラ呼び出され挿入された行主キーの値が表示されデータ更新する GridView コントロールの DataBind メソッド明示的に呼び出されます。

<%@Page  Language="VB" %>
<%@Import Namespace="System.Data"
 %>
<%@Import Namespace="System.Data.Common"
 %>
<%@Import Namespace="System.Data.SqlClient"
 %>
<!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_Inserting(ByVal sender As
 Object, ByVal e As SqlDataSourceCommandEventArgs)

    Dim insertedKey As SqlParameter  
    insertedKey = New SqlParameter("@PK_New",
 SqlDbType.Int)
    insertedKey.Direction    = ParameterDirection.Output     
    
    e.Command.Parameters.Add(insertedKey)

 End Sub 'On_Inserting

 Sub On_Inserted(ByVal sender As
 Object, ByVal e As SqlDataSourceStatusEventArgs)
    Dim command As DbCommand 
    command = e.Command
    
    ' The label displays the primary key of the recently inserted row.
    Label1.Text = command.Parameters("@PK_New").Value.ToString()
    
    
    ' Explicitly call DataBind to refresh the data
    ' and show the newly inserted row.
    GridView1.DataBind()
 End Sub 'On_Inserted

</SCRIPT>

<HTML>
  <BODY>
    <FORM runat="server">

      <asp:GridView
        id="GridView1"
        runat="server"
        AutoGenerateColumns="False"
        DataKeyNames="EmployeeID"        
        DataSourceID="SqlDataSource1">
        <columns>          
          <asp:BoundField HeaderText="First Name"
 DataField="FirstName" />
          <asp:BoundField HeaderText="Last Name"
 DataField="LastName" />
          <asp:BoundField HeaderText="Title" DataField="Title"
 />
          <asp:ButtonField ButtonType="Link" CommandName="Select"
 Text="Details..." />
        </columns>
      </asp:GridView>

      <asp:SqlDataSource
        id="SqlDataSource1"
        runat="server"
        ConnectionString="<%$ ConnectionStrings:MyNorthwind
 %>"
        SelectCommand="SELECT EmployeeID,FirstName,LastName,Title
 FROM Employees">
      </asp:SqlDataSource>

      <HR>

      <asp:DetailsView
        id="DetailsView1"
        runat="server"
        DataSourceID="SqlDataSource2"
        AutoGenerateRows="False"
        AutoGenerateInsertButton="True">
        <fields>
          <asp:BoundField HeaderText="First Name"
 DataField="FirstName" ReadOnly="False"/>
          <asp:BoundField HeaderText="Last Name"
 DataField="LastName" ReadOnly="False"/>
          <asp:TemplateField HeaderText="Title">
            <ItemTemplate>
              <asp:DropDownList
                id="TitleDropDownList"
                runat="server"
                selectedvalue="<%# Bind('Title') %>"
 >
                <asp:ListItem Selected>Sales Representative</asp:ListItem>
                <asp:ListItem>Sales Manager</asp:ListItem>
                <asp:ListItem>Vice President, Sales</asp:ListItem>
              </asp:DropDownList>
            </ItemTemplate>
          </asp:TemplateField>
          <asp:BoundField HeaderText="Notes" DataField="Notes"
 ReadOnly="False"/>
        </fields>
      </asp:DetailsView>


      <asp:SqlDataSource
        id="SqlDataSource2"
        runat="server"
        ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
        SelectCommand="SELECT * FROM Employees"
        InsertCommandType = "StoredProcedure"
        InsertCommand="sp_insertemployee"        
        OnInserting="On_Inserting"
        OnInserted ="On_Inserted"
        FilterExpression="EmployeeID={0}">
        <FilterParameters>
          <asp:ControlParameter Name="EmployeeID"
 ControlId="GridView1" PropertyName="SelectedValue"
 />
        </FilterParameters>
      </asp:SqlDataSource>

<!-- 
     -- An example sp_insertemployee stored procedure that returns
     -- the primary key of the row that was inserted in
 an OUT parameter.
     CREATE PROCEDURE sp_insertemployee 
        @FirstName nvarchar(10), 
        @LastName nvarchar(20) , 
        @Title nvarchar(30), 
        @Notes nvarchar(200), 
        @PK_New int OUTPUT
      AS
        INSERT INTO Employees(FirstName,LastName,Title,Notes)VALUES (@FirstName,@LastName
,@Title,@Notes)
        SELECT @PK_New = @@IDENTITY
        RETURN (1)    
      GO
-->      

      <asp:Label 
        id="Label1"
        runat="server" />
      
    </FORM>
  </BODY>
</HTML>
<%@Page  Language="C#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<%@Import Namespace="System.Data.SqlClient" %>
<!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_Inserting(Object sender, SqlDataSourceCommandEventArgs
 e) {

    SqlParameter insertedKey = new SqlParameter("@PK_New",
 SqlDbType.Int);
    insertedKey.Direction    = ParameterDirection.Output;        
    e.Command.Parameters.Add(insertedKey);
 }

 private void On_Inserted(Object sender, SqlDataSourceStatusEventArgs
 e) {
    DbCommand command = e.Command;    
    
    // The label displays the primary key of the recently inserted row.
    Label1.Text = command.Parameters["@PK_New"].Value.ToString();
    
    // Force a refresh after the data is inserted.
    GridView1.DataBind();
 }
</SCRIPT>

<HTML>
  <BODY>
    <FORM runat="server">

      <asp:GridView
        id="GridView1"
        runat="server"
        AutoGenerateColumns="False"
        DataKeyNames="EmployeeID"        
        DataSourceID="SqlDataSource1">
        <columns>          
          <asp:BoundField HeaderText="First Name" DataField="FirstName"
 />
          <asp:BoundField HeaderText="Last Name" DataField="LastName"
 />
          <asp:BoundField HeaderText="Title" DataField="Title"
 />
          <asp:ButtonField ButtonType="Link" CommandName="Select"
 Text="Details..." />
        </columns>
      </asp:GridView>

      <asp:SqlDataSource
        id="SqlDataSource1"
        runat="server"
        ConnectionString="<%$ ConnectionStrings:MyNorthwind %>"
        SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees">
      </asp:SqlDataSource>

      <HR>

      <asp:DetailsView
        id="DetailsView1"
        runat="server"
        DataSourceID="SqlDataSource2"
        AutoGenerateRows="False"
        AutoGenerateInsertButton="True">
        <fields>
          <asp:BoundField HeaderText="First Name" DataField="FirstName"
 ReadOnly="False"/>
          <asp:BoundField HeaderText="Last Name" DataField="LastName"
 ReadOnly="False"/>
          <asp:TemplateField HeaderText="Title">
            <ItemTemplate>
              <asp:DropDownList
                id="TitleDropDownList"
                runat="server"
                selectedvalue="<%# Bind('Title') %>" >
                <asp:ListItem Selected>Sales Representative</asp:ListItem>
                <asp:ListItem>Sales Manager</asp:ListItem>
                <asp:ListItem>Vice President, Sales</asp:ListItem>
              </asp:DropDownList>
            </ItemTemplate>
          </asp:TemplateField>
          <asp:BoundField HeaderText="Notes" DataField="Notes"
 ReadOnly="False"/>
        </fields>
      </asp:DetailsView>


      <asp:SqlDataSource
        id="SqlDataSource2"
        runat="server"
        ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
        SelectCommand="SELECT * FROM Employees"
        InsertCommandType = "StoredProcedure"
        InsertCommand="sp_insertemployee"        
        OnInserting="On_Inserting"
        OnInserted ="On_Inserted"
        FilterExpression="EmployeeID={0}">
        <FilterParameters>
          <asp:ControlParameter Name="EmployeeID" ControlId="GridView1"
 PropertyName="SelectedValue" />
        </FilterParameters>
      </asp:SqlDataSource>

<!-- 
     -- An example sp_insertemployee stored procedure that returns
     -- the primary key of the row that was inserted in an OUT
 parameter.
     CREATE PROCEDURE sp_insertemployee 
        @FirstName nvarchar(10), 
        @LastName nvarchar(20) , 
        @Title nvarchar(30), 
        @Notes nvarchar(200), 
        @PK_New int OUTPUT
      AS
        INSERT INTO Employees(FirstName,LastName,Title,Notes)VALUES (@FirstName,@LastName
,@Title,@Notes)
        SELECT @PK_New = @@IDENTITY
        RETURN (1)    
      GO
-->      

      <asp:Label 
        id="Label1"
        runat="server" />
      
    </FORM>
  </BODY>
</HTML>
<%@Page  Language="VJ#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<%@Import Namespace="System.Data.SqlClient" %>
<!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_Inserting(Object sender,
 SqlDataSourceCommandEventArgs e)
    {
        // Add the Title parameter from the TemplatedField.
        // Cast the first Item of the DetailsView to a Table.
        Table tbl = (Table)DetailsView1.get_Controls().get_Item(0);

        // Get row two (the third row) from the rows collection.
        // This is the row that the DropDownList is in.
        TableRowCollection rows = tbl.get_Rows();
        TableRow titleRow = rows.get_Item(2);
        
        // Cast the second item in the controls collection of cell one
 as a 
        // DropDownList.
        DropDownList title = (DropDownList)titleRow.get_Cells().get_Item(1).
            get_Controls().get_Item(1);
        SqlParameter titleParam = new SqlParameter(
            "@Title", title.get_SelectedValue());

        e.get_Command().get_Parameters().Add(titleParam);
    } //On_Inserting

    private void On_Inserted(Object sender,
 SqlDataSourceStatusEventArgs e)
    {
        // Explicitly call DataBind to refresh the data
        // and show the newly inserted row.
        GridView1.DataBind();
    } //On_Inserted
</SCRIPT>

<HTML>
  <BODY>
    <FORM runat="server">

      <asp:GridView
        id="GridView1"
        runat="server"
        AutoGenerateColumns="False"
        DataKeyNames="EmployeeID"
        SelectedIndex="0"
        DataSourceID="SqlDataSource1">
        <Columns>
          <asp:BoundField HeaderText="First Name" DataField="FirstName"
 />
          <asp:BoundField HeaderText="Last Name" DataField="LastName"
 />
          <asp:BoundField HeaderText="Title" DataField="Title"
 />
          <asp:ButtonField ButtonType="Link" CommandName="Select"
 Text="Details..." />
        </Columns>
      </asp:GridView>

      <asp:SqlDataSource
        id="SqlDataSource1"
        runat="server"
        ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial
 Catalog=Northwind;"
        SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees">
      </asp:SqlDataSource>

      <HR>

      <asp:DetailsView
        id="DetailsView1"
        runat="server"
        DataSourceID="SqlDataSource2"
        AutoGenerateRows="False"
        AutoGenerateInsertButton="True">
        <Fields>
          <asp:BoundField HeaderText="First Name" DataField="FirstName"
 ReadOnly="False"/>
          <asp:BoundField HeaderText="Last Name" DataField="LastName"
 ReadOnly="False"/>
          <asp:TemplateField HeaderText="Title">
            <ItemTemplate>
              <asp:DropDownList
                runat="server">
                <asp:ListItem Selected>Sales Representative</asp:ListItem>
                <asp:ListItem>Sales Manager</asp:ListItem>
                <asp:ListItem>Vice President, Sales</asp:ListItem>
              </asp:DropDownList>
            </ItemTemplate>
          </asp:TemplateField>
          <asp:BoundField HeaderText="Notes" DataField="Notes"
 ReadOnly="False"/>
        </Fields>
      </asp:DetailsView>


      <asp:SqlDataSource
        id="SqlDataSource2"
        runat="server"
        ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial
 Catalog=Northwind;"
        SelectCommand="SELECT * FROM Employees"
        InsertCommand="INSERT INTO Employees(FirstName,LastName,Title,Notes)VALUES
 (@FirstName,@LastName,@Title,@Notes)"
        OnInserting="On_Inserting"
        OnInserted="On_Inserted"
        FilterExpression="EmployeeID=@EmployeeID">
        <FilterParameters>
          <asp:ControlParameter Name="EmployeeID" ControlId="GridView1"
 PropertyName="SelectedDataKey.Value"/>
        </FilterParameters>
      </asp:SqlDataSource>

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



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

辞書ショートカット

すべての辞書の索引

SqlDataSourceCommandEventArgs.Command プロパティのお隣キーワード
検索ランキング

   

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



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

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

©2024 GRAS Group, Inc.RSS