SqlDataSource.Insert Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет операцию вставки, используя SQL-строку InsertCommand и параметры из коллекции InsertParameters.
public:
int Insert();
public int Insert ();
member this.Insert : unit -> int
Public Function Insert () As Integer
Возвращаемое значение
Значение, представляющее число строк, вставленных в основную базу данных.
Исключения
Объекту SqlDataSource не удается установить подключение к базовому источнику данных.
Примеры
В следующем примере кода показано, как вставлять данные в базу данных с помощью 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>
Комментарии
Перед выполнением OnInserting операции вставки вызывается метод для вызова Inserting события . Это событие можно обработать для проверки значений параметров и выполнения любой предварительной обработки перед операцией Insert . Чтобы выполнить операцию вставки, SqlDataSourceView объект создает DbCommand объект с использованием InsertCommand текста и всех связанных InsertParameters свойств, а затем выполняет DbCommand объект для базовой базы данных.
После завершения операции вызывается метод для OnInserted вызова Inserted события . Это событие можно обработать для проверки возвращаемых значений и кодов ошибок, а также для выполнения постобработки.
Метод Insert предоставляется для программного доступа к методу Insert
.
SqlDataSource Если элемент управления связан с элементом управления с привязкой к данным, элемент управления с привязкой к данным автоматически вызывает Insert
метод .
Метод Insert делегирует Insert метод объекта , связанного SqlDataSourceView с элементом SqlDataSource управления .
Важно!
Значения вставляются в параметры без проверки, что является потенциальной угрозой безопасности. Используйте событие для Filtering проверки значений параметров перед выполнением запроса. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.