SqlDataSourceCommandEventArgs Sınıf

Tanım

Denetimin Updatingve DeletingInserting olaylarının SqlDataSource verilerini sağlar.

public ref class SqlDataSourceCommandEventArgs : System::ComponentModel::CancelEventArgs
public class SqlDataSourceCommandEventArgs : System.ComponentModel.CancelEventArgs
type SqlDataSourceCommandEventArgs = class
    inherit CancelEventArgs
Public Class SqlDataSourceCommandEventArgs
Inherits CancelEventArgs
Devralma
SqlDataSourceCommandEventArgs
Türetilmiş

Örnekler

Aşağıdaki kod örneğinde, microsoft SQL Server veritabanından alınan verilerin bir DropDownList denetimde nasıl görüntüleneceği ve denetimi kullanarak TextBox kaydın nasıl güncelleştirilecekleri gösterilmektedir. Örnekte, verileri güncelleştirmek için denetimi kullanırken SqlDataSource işlem bağlamı eklemek için bir DbTransaction nesneyi nasıl kullanabileceğiniz gösterilmektedir.

<%@Page  Language="C#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<%@Import Namespace="System.Data.SqlClient" %>
<%@Import Namespace="System.Diagnostics" %>
<!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 On_Click(Object source, EventArgs e) {    
    SqlDataSource1.Update();
 }

 private void OnSqlUpdating(Object source, SqlDataSourceCommandEventArgs e) {
    DbCommand command = e.Command;
    DbConnection cx  = command.Connection;    
    cx.Open();    
    DbTransaction tx = cx.BeginTransaction();
    command.Transaction = tx;
 }

 private void OnSqlUpdated(Object source, SqlDataSourceStatusEventArgs e) {
    DbCommand command = e.Command;
    DbTransaction tx = command.Transaction;
    
    // In this code example the OtherProcessSucceeded variable represents
    // the outcome of some other process that occurs whenever the data is 
    // updated, and must succeed for the data change to be committed. For 
    // simplicity, we set this value to true. 
    bool OtherProcessSucceeded = true;
    
    if (OtherProcessSucceeded) {
        tx.Commit();
        Label2.Text="The record was updated successfully!";
    }
    else {
        tx.Rollback();
        Label2.Text="The record was not updated.";
    }
 }

</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:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees"
          UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID"
          OnUpdating="OnSqlUpdating"
          OnUpdated ="OnSqlUpdated">
          <UpdateParameters>
              <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
              <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
          </UpdateParameters>
      </asp:SqlDataSource>

      <asp:DropDownList
          id="DropDownList1"
          runat="server"
          DataTextField="LastName"
          DataValueField="EmployeeID"
          DataSourceID="SqlDataSource1">
      </asp:DropDownList>

      <br />
      <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
        AssociatedControlID="TextBox1" />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />

      <br /><asp:Label id="Label2" runat="server" Text="" />

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<%@Import Namespace="System.Diagnostics" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

 Sub On_Click(ByVal source As Object, ByVal e As EventArgs)
        SqlDataSource1.Update()
 End Sub 'On_Click

 Sub On_Sql_Updating(ByVal source As Object, ByVal e As SqlDataSourceCommandEventArgs)
     Dim command as DbCommand
     Dim connection as DbConnection
     Dim transaction as DbTransaction
     
     command    = e.Command
     connection = command.Connection     
     connection.Open()     
     transaction = connection.BeginTransaction()
     command.Transaction = transaction
 
 End Sub 'On_Sql_Updating
 
 Sub On_Sql_Updated(ByVal source As Object, ByVal e As SqlDataSourceStatusEventArgs)
 
    Dim command As DbCommand
    Dim transaction As DbTransaction
    
    command = e.Command
    transaction = command.Transaction
    
    ' In this code example the OtherProcessSucceeded variable represents
    ' the outcome of some other process that occurs whenever the data is 
    ' updated, and must succeed for the data change to be committed. For 
    ' simplicity, we set this value to true. 
    Dim OtherProcessSucceeded as Boolean = True
    
    If (OtherProcessSucceeded) Then
        transaction.Commit()
        Label2.Text="The record was updated successfully!"
    Else    
        transaction.Rollback()
        Label2.Text="The record was not updated."
    End If
 End Sub ' On_Sql_Updated
</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:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT EmployeeID, LastName, Address FROM Employees"
          UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID"
          OnUpdating="On_Sql_Updating"
          OnUpdated ="On_Sql_Updated">
          <UpdateParameters>
              <asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
              <asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
          </UpdateParameters>
      </asp:SqlDataSource>

      <asp:DropDownList
          id="DropDownList1"
          runat="server"
          DataTextField="LastName"
          DataValueField="EmployeeID"
          DataSourceID="SqlDataSource1">
      </asp:DropDownList>

      <br />
      <asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
        AssociatedControlID="TextBox1" />
      <asp:TextBox id="TextBox1" runat="server" />
      <asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />

      <br /><asp:Label id="Label2" runat="server" Text="" />

    </form>
  </body>
</html>

Açıklamalar

, Insertingveya Deleting olaylarını işlemek Updatingiçin bir olay işleyicisi temsilcisi ekleyerek, gerekli ek ön işleme işlemlerini gerçekleştirebilir veya veritabanı komutunu tamamen iptal edebilirsiniz.

sınıfı sınıfından SqlDataSourceCommandEventArgs türetildiğindenCancelEventArgs, özelliğini trueolarak ayarlayarak Cancel bekleyen SqlDataSource veritabanı komutunu iptal edebilirsiniz. özelliği tarafından Command kullanıma sunulan nesneye CommandTexterişerek DbCommand komutu çalıştırmadan önce , Parameters koleksiyonu ve diğer komut özelliklerini inceleyebilir ve işleyebilirsiniz.

SqlDataSourceCommandEventArgs sınıfı, çalıştırilmeden önce veritabanı SqlDataSource komutuna erişim sağlamak için , OnInsertingve OnDeleting yöntemlerinde kullanılırOnUpdating. Denetim, SqlDataSource bir veri işlemi sırasında temel alınan veri nesneleriyle çalışmak için işleyebileceğiniz birçok olayı kullanıma sunar. Aşağıdaki tabloda, denetimi kullanarak bir veri işleminin yaşam döngüsüne karşılık gelen çeşitli olaylara daha iyi yol göstermek için olayları ve ilişkili EventArgs ve olay işleyici sınıflarını listeledik SqlDataSource .

Olay Eventargs Eventhandler
Selecting veriler alınmadan önce gerçekleşir. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
Inserting, Updatingekleme Deleting , güncelleştirme veya silme işlemi gerçekleştirilmeden önce gerçekleşir. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
Selected, Inserted, Updated, Deleted veri alma, ekleme, güncelleştirme veya silme işlemleri tamamlandıktan sonra gerçekleşir. SqlDataSourceStatusEventArgs SqlDataSourceStatusEventHandler

Oluşturucular

SqlDataSourceCommandEventArgs(DbCommand)

Belirtilen veritabanı komut nesnesini kullanarak sınıfının yeni bir örneğini SqlDataSourceCommandEventArgs başlatır.

Özellikler

Cancel

Olayın iptal edilip edilmeyeceğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: CancelEventArgs)
Command

Bekleyen veritabanı komutunu alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.