SqlDataSource.InsertParameters Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает коллекцию параметров, содержащую параметры, используемые InsertCommand свойством из SqlDataSourceView объекта, связанного с элементом SqlDataSource управления.
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; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.InsertParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property InsertParameters As ParameterCollection
Значение свойства
Значение ParameterCollection , содержащее параметры, используемые свойством InsertCommand .
- Атрибуты
Примеры
В следующем примере кода показано, как вставить данные в базу данных с помощью SqlDataSource элемента управления и простой страницы веб-форм. Текущие данные в таблице данных отображаются в элементе DropDownList управления. Вы можете добавить новые записи, введя значения в TextBox элементы управления, а затем нажав кнопку "Вставить ". При нажатии кнопки "Вставка " указанные значения вставляются в базу данных, а DropDownList элемент управления обновляется.
Это важно
В этом примере содержится текстовое поле, которое принимает входные данные пользователя, которое является потенциальной угрозой безопасности, и значения вставляются в параметры без проверки, что также является потенциальной угрозой безопасности. Inserting Используйте событие для проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".
Замечание
В этом примере показано, как использовать декларативный синтаксис для доступа к данным. Сведения о том, как получить доступ к данным с помощью кода вместо разметки, см. в разделе "Доступ к данным" в 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>
Комментарии
Свойство InsertParameters извлекает InsertParameters свойство, содержащееся SqlDataSourceView объектом, связанным с элементом SqlDataSource управления.
InsertCommand Если свойство содержит параметризованный SQL-запрос, InsertParameters коллекция содержит все Parameter объекты, соответствующие заполнителям параметров в строке SQL.
В зависимости от поставщика ADO.NET порядок параметров в InsertParameters коллекции может быть важным. System.Data.Odbc Поставщики System.Data.OleDb связывают параметры в коллекции в соответствии с порядком отображения параметров в параметризованном SQL-запросе. Поставщик System.Data.SqlClient , который является поставщиком ADO.NET по умолчанию для SqlDataSource элемента управления, связывает параметры в коллекции, сопоставляя имя параметра с псевдонимом заполнителя в SQL-запросе. Дополнительные сведения о параметризованных запросах и командах SQL см. в разделе "Использование параметров" с элементом управления SqlDataSource.
Это важно
Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности. Filtering Используйте событие для проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".