SqlDataSource.Insert Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Melakukan operasi penyisipan menggunakan InsertCommand string SQL dan parameter apa pun yang ada dalam InsertParameters koleksi.
public:
int Insert();
public int Insert ();
member this.Insert : unit -> int
Public Function Insert () As Integer
Mengembalikan
Nilai yang menunjukkan jumlah baris yang disisipkan ke dalam database yang mendasar.
Pengecualian
SqlDataSource tidak dapat membuat koneksi dengan sumber data yang mendasar.
Contoh
Contoh kode berikut menunjukkan cara menyisipkan data ke dalam database menggunakan SqlDataSource kontrol dan halaman Formulir Web sederhana. Data saat ini dalam tabel Data ditampilkan dalam DropDownList kontrol. Anda bisa menambahkan rekaman baru dengan memasukkan nilai dalam TextBox kontrol, lalu mengklik tombol Sisipkan . Saat tombol Sisipkan diklik, nilai yang ditentukan disisipkan ke dalam database, lalu disegarkan DropDownList .
Penting
Contoh ini mencakup kotak teks yang menerima input pengguna, yang merupakan potensi ancaman keamanan dan nilai dimasukkan ke dalam parameter tanpa validasi, yang juga merupakan potensi ancaman keamanan. Inserting Gunakan peristiwa untuk memvalidasi nilai parameter sebelum menjalankan kueri. Untuk informasi selengkapnya, lihat Gambaran Umum Eksploitasi Skrip.
Catatan
Contoh ini menunjukkan cara menggunakan sintaks deklaratif untuk akses data. Untuk informasi tentang cara mengakses data dengan menggunakan kode alih-alih markup, lihat Mengakses data di 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>
Keterangan
Sebelum operasi penyisipan dilakukan, OnInserting metode dipanggil untuk menaikkan Inserting peristiwa. Anda dapat menangani peristiwa ini untuk memeriksa nilai parameter dan melakukan praproscessing sebelum Insert operasi. Untuk melakukan operasi penyisipan, SqlDataSourceView objek membangun DbCommand objek menggunakan InsertCommand teks dan properti terkait InsertParameters apa pun, lalu menjalankan objek terhadap database yang mendasar DbCommand .
Setelah operasi selesai, metode dipanggil OnInserted untuk menaikkan Inserted peristiwa. Anda dapat menangani peristiwa ini untuk memeriksa nilai pengembalian dan kode kesalahan dan untuk melakukan pasca-pemrosesan.
Metode Insert ini disediakan untuk akses terprogram ke Insert
metode . Jika kontrol dikaitkan SqlDataSource dengan kontrol terikat data, kontrol terikat data secara otomatis memanggil Insert
metode .
Metode ini Insert mendelegasikan ke Insert metode SqlDataSourceView objek yang terkait dengan SqlDataSource kontrol.
Penting
Nilai dimasukkan ke dalam parameter tanpa validasi, yang merupakan potensi ancaman keamanan. Filtering Gunakan peristiwa untuk memvalidasi nilai parameter sebelum menjalankan kueri. Untuk informasi selengkapnya, lihat Gambaran Umum Eksploitasi Skrip.