SqlDataSource.Insert Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SQL dizesini ve koleksiyondaki InsertCommandInsertParameters tüm parametreleri kullanarak bir ekleme işlemi gerçekleştirir.
public:
int Insert();
public int Insert();
member this.Insert : unit -> int
Public Function Insert () As Integer
Döndürülenler
Temel alınan veritabanına eklenen satır sayısını temsil eden değer.
Özel durumlar
, SqlDataSource temel alınan veri kaynağıyla bağlantı kuramıyor.
Örnekler
Aşağıdaki kod örneği, denetimi ve basit bir Web Forms sayfasını kullanarak SqlDataSource veritabanına veri eklemeyi gösterir. Veri tablosundaki geçerli veriler denetimde DropDownList görüntülenir. Denetimlere TextBox değerler girip Ekle düğmesine tıklayarak yeni kayıtlar ekleyebilirsiniz. Ekle düğmesine tıklandığında, belirtilen değerler veritabanına eklenir ve ardından DropDownList yenilenir.
Important
Bu örnek, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu içerir ve parametrelere doğrulama olmadan değerler eklenir ve bu da olası bir güvenlik tehdididir. Sorguyu Inserting yürütmeden önce parametre değerlerini doğrulamak için olayını kullanın. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.
Note
Bu örnekte veri erişimi için bildirim temelli söz dizimini kullanma gösterilmektedir. Verilere işaretleme yerine kod kullanarak erişme hakkında bilgi için bkz. Visual Studio'da verilere erişme.
<%@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>
Açıklamalar
Ekleme işlemi gerçekleştirilmeden önce, OnInserting olayı yükseltmek için yöntemi çağrılır Inserting . Parametrelerin değerlerini incelemek ve işlemden önce Insert herhangi bir ön işleme gerçekleştirmek için bu olayı işleyebilirsiniz. Ekleme işlemi gerçekleştirmek için nesne, SqlDataSourceView metni ve ilişkili DbCommand özellikleri kullanarak InsertCommand bir InsertParameters nesne oluşturur ve sonra nesneyi temel alınan veritabanında yürütürDbCommand.
İşlem tamamlandıktan sonra, OnInserted olayı yükseltmek için yöntemi çağrılır Inserted . Bu olayı işleyerek dönüş değerlerini ve hata kodlarını inceleyebilir ve işlem sonrası işlemleri gerçekleştirebilirsiniz.
yöntemi, Insert yöntemine programlı erişim için Insert sağlanır.
SqlDataSource Denetim bir veriye bağlı denetimle ilişkiliyse, veriye bağlı denetim otomatik olarak yöntemini çağırırInsert.
yöntemi, Insert denetimle ilişkilendirilmiş nesnenin Insert yöntemini temsil ederSqlDataSourceView.SqlDataSource
Important
Değerler doğrulama yapılmadan parametrelere eklenir ve bu da olası bir güvenlik tehdididir. Sorguyu Filtering yürütmeden önce parametre değerlerini doğrulamak için olayını kullanın. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.