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

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

SqlDataSource.InsertCommand プロパティ

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

基になるデータベースデータ挿入するために SqlDataSource コントロール使用する SQL 文字列取得または設定します

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

Dim instance As SqlDataSource
Dim value As String

value = instance.InsertCommand

instance.InsertCommand = value
public string InsertCommand { get;
 set; }
public:
property String^ InsertCommand {
    String^ get ();
    void set (String^ value);
}
/** @property */
public String get_InsertCommand ()

/** @property */
public void set_InsertCommand (String value)
public function get InsertCommand
 () : String

public function set InsertCommand
 (value : String)

プロパティ
データ挿入するために SqlDataSource使用する SQL 文字列

解説解説

異なデータベース製品では異な種類SQL使用されるため、SQL 文字列構文は、現在使用されている ADO.NET プロバイダによって異なります。このプロバイダは、ProviderName プロパティによって示されます。SQL 文字列パラメータ化されたクエリまたはコマンドである場合パラメータのプレースホルダは、使用されている ADO.NET プロバイダ依存します。たとえば、プロバイダSqlDataSource クラス既定プロバイダである System.Data.SqlClient の場合パラメータのプレースホルダは '@parameterName' です。ただし、プロバイダが System.Data.Odbc または System.Data.OleDb に設定されている場合パラメータのプレースホルダは '?' となりますパラメータ化された SQL クエリコマンド詳細については、「SqlDataSource コントロールにおけるパラメータ使用」を参照してください

データ ソースストアド プロシージャサポートしている場合InsertCommand には、SQL 文字列またはストアド プロシージャの名前を指定できます

このプロパティは、SqlDataSource コントロール関連付けられた SqlDataSourceView の InsertCommand プロパティに処理を代行させます

セキュリティに関するメモセキュリティに関するメモ

セキュリティのために、InsertCommand プロパティビューステートには格納されません。クライアントビューステート内容デコードできるため、データベース構造に関する機密情報ビューステート格納すると、情報公開脆弱性生じ可能性あります

使用例使用例

このセクションには、2 つコード例含まれています。SqlDataSource コントロール簡単な Web フォーム ページ使用してデータベースデータ挿入する方法最初コード例示しますMicrosoft SQL Server からデータ取得して GridView コントロール表示し選択した行の詳細情報GridView コントロール表示して新しレコード挿入するためのフォームとして DetailsView コントロール使用する方法2 番目のコード例示します

SqlDataSource コントロール簡単な Web フォーム ページ使用してデータベースデータ挿入する方法次のコード例示しますデータ テーブル内の現在のデータが、DropDownList コントロール表示されます。TextBox コントロールに値を入力し、[挿入] ボタンクリックすることにより、新しレコード追加できます。[挿入] ボタンクリックされると、指定された値がデータベース挿入されDropDownList更新されます。

<%@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">
Private Sub InsertShipper (ByVal
 Source As Object, ByVal
 e As EventArgs)
  SqlDataSource1.Insert()
End Sub ' InsertShipper
</Script>
<HTML>
  <BODY>
    <FORM runat="server">

      <asp:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of
 input from the client.
     Security Note: To validate the value of
 the FormParameter, handle the Inserting event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind
 %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone)
 VALUES (@CoName,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox"
 />
            <asp:formparameter name="Phone"  formfield="PhoneBox"
 />
          </insertparameters>
      </asp:sqldatasource>

      <p><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name."
 />

      <p><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number."
 />

      <p><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </FORM>
  </BODY>
</HTML>
<%@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 InsertShipper (object source,
 EventArgs e) {
  SqlDataSource1.Insert();
}
</Script>
<HTML>
  <BODY>
    <FORM runat="server">

      <asp:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the FormParameter, handle the Inserting
 event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName
,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox"
 />
            <asp:formparameter name="Phone"  formfield="PhoneBox"
 />
          </insertparameters>
      </asp:sqldatasource>

      <p><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <p><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <p><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </FORM>
  </BODY>
</HTML>
<%@Page  Language="VJ#" %>
<!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 InsertShipper(Object source,
 System.EventArgs e)
    {
        SqlDataSource1.Insert();
    } //InsertShipper
</Script>
<HTML>
  <BODY>
    <FORM runat="server">

      <asp:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="Data Source=localhost;Integrated Security=SSPI;Initial
 Catalog=Northwind;Connect Timeout=15"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName
,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox"
 />
            <asp:formparameter name="Phone"  formfield="PhoneBox"
 />
          </insertparameters>
      </asp:sqldatasource>

      <p><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <p><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <p><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </FORM>
  </BODY>
</HTML>

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>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlDataSource クラス
SqlDataSource メンバ
System.Web.UI.WebControls 名前空間
InsertParameters
Insert



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

辞書ショートカット

すべての辞書の索引

「SqlDataSource.InsertCommand プロパティ」の関連用語

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

   

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



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

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

©2024 GRAS Group, Inc.RSS