SqlDataSource.InsertParameters Свойство

Определение

Возвращает коллекцию, содержащую параметры, используемые свойством InsertCommand объекта SqlDataSourceView, связанного с элементом управления SqlDataSource.Gets the parameters collection that contains the parameters that are used by the InsertCommand property from the SqlDataSourceView object that is associated with the SqlDataSource control.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ InsertParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection InsertParameters { get; }
member this.InsertParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property InsertParameters As ParameterCollection

Значение свойства

Коллекция ParameterCollection, содержащая параметры, используемые свойством InsertCommand.A ParameterCollection that contains the parameters used by the InsertCommand property.

Атрибуты

Примеры

В следующем примере кода показано, SqlDataSource как вставлять данные в базу данных с помощью элемента управления и простой страницы веб-форм.The following code example demonstrates how to insert data into a database using the SqlDataSource control and a simple Web Forms page. Текущие данные в таблице данных отображаются в DropDownList элементе управления.The current data in the Data table is displayed in the DropDownList control. Можно добавить новые записи, введя значения в TextBox элементах управления, а затем нажав кнопку Вставить .You can add new records by entering values in the TextBox controls, and then clicking the Insert button. При нажатии кнопки вставки заданные значения вставляются в базу данных, и DropDownList элемент управления обновляется.When the Insert button is clicked, the specified values are inserted into the database, and the DropDownList control is refreshed.

Важно!

Этот пример включает текстовое поле, которое принимает ввод пользователя, что является потенциальной угрозой безопасности, а значения вставляются в параметры без проверки, что также является потенциальной угрозой безопасности.This example includes a text box that accepts user input, which is a potential security threat, and values are inserted into parameters without validation, which is also a potential security threat. Inserting Используйте событие для проверки значений параметров перед выполнением запроса.Use the Inserting event to validate parameter values before executing the query. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.For more information, see Script Exploits Overview.

Примечание

В этом примере показано, как использовать декларативный синтаксис для доступа к данным.This example shows how to use declarative syntax for data access. Дополнительные сведения о доступе к данным с помощью кода вместо разметки см. в разделе доступ к данным в Visual Studio.For information about how to access data by using code instead of markup, see Accessing data in Visual Studio.

<%@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 xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" 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>

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

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

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

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

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

    </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">
Private Sub InsertShipper (ByVal Source As Object, ByVal e As EventArgs)
  SqlDataSource1.Insert()
End Sub ' InsertShipper
</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: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>

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

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

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

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

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

    </form>
  </body>
</html>

Комментарии

Свойство получает свойство, содержащееся в SqlDataSource объекте,связанномсэлементомуправления.SqlDataSourceView InsertParameters InsertParametersThe InsertParameters property retrieves the InsertParameters property that is contained by the SqlDataSourceView object that is associated with the SqlDataSource control.

Если свойство содержит параметризованный SQL-запрос InsertParameters , коллекция содержит все Parameter объекты, соответствующие заполнителям параметров в строке SQL. InsertCommandIf the InsertCommand property contains a parameterized SQL query, the InsertParameters collection contains any Parameter objects that correspond to the parameter placeholders in the SQL string.

В зависимости от поставщика ADO.NET порядок параметров в InsertParameters коллекции может быть важен.Depending on the ADO.NET provider, the order of the parameters in the InsertParameters collection might be important. Поставщики System.Data.OleDb иSystem.Data.Odbc связывают параметры в коллекции согласно порядку, в котором параметры отображаются в параметризованном запросе SQL.The System.Data.OleDb and System.Data.Odbc providers associate the parameters in the collection according to the order that the parameters appear in the parameterized SQL query. Поставщик, являющийся поставщиком ADO.NET по умолчанию SqlDataSource для элемента управления, связывает параметры в коллекции, сопоставляя имя параметра с псевдонимом заполнителя в SQL-запросе. System.Data.SqlClientThe System.Data.SqlClient provider, which is the default ADO.NET provider for the SqlDataSource control, associates the parameters in the collection by matching the name of the parameter with a placeholder alias in the SQL query. Дополнительные сведения о параметризованных запросах SQL и командах см. в разделе Использование параметров с элементом управления SqlDataSource.For more information about parameterized SQL queries and commands, see Using Parameters with the SqlDataSource Control.

Важно!

Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности.Values are inserted into parameters without validation, which is a potential security threat. Filtering Используйте событие для проверки значений параметров перед выполнением запроса.Use the Filtering event to validate parameter values before executing the query. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.For more information, see Script Exploits Overview.

Применяется к

Дополнительно