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.OleDb и System.Data.Odbc связывают параметры в коллекции в соответствии с порядком отображения параметров в параметризованном SQL-запросе. Поставщик System.Data.SqlClient , который является поставщиком ADO.NET по умолчанию для SqlDataSource элемента управления, связывает параметры в коллекции, сопоставляя имя параметра с псевдонимом заполнителя в SQL-запросе. Дополнительные сведения о параметризованных запросах и командах SQL см. в разделе Использование параметров с элементом управления SqlDataSource.
Важно!
Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности. Используйте событие для Filtering проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.