SqlDataSourceCommandEventArgs Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje data pro UpdatingDeleting ovládací prvek a Inserting události SqlDataSource ovládacího prvku.
public ref class SqlDataSourceCommandEventArgs : System::ComponentModel::CancelEventArgs
public class SqlDataSourceCommandEventArgs : System.ComponentModel.CancelEventArgs
type SqlDataSourceCommandEventArgs = class
inherit CancelEventArgs
Public Class SqlDataSourceCommandEventArgs
Inherits CancelEventArgs
- Dědičnost
- Odvozené
Příklady
Následující příklad kódu ukazuje, jak zobrazit data načtená z databáze Microsoft SQL Serveru v ovládacím DropDownList prvku a aktualizovat záznam pomocí TextBox ovládacího prvku. Příklad ukazuje, jak můžete pomocí objektu DbTransaction přidat kontext transakce při použití SqlDataSource ovládacího prvku k aktualizaci dat.
<%@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>
Poznámky
Přidáním delegáta obslužné rutiny události pro zpracování UpdatingInserting, nebo Deleting událostí můžete provést jakékoli další požadované předběžné zpracování nebo zcela zrušit databázový příkaz.
Vzhledem k tomu, že SqlDataSourceCommandEventArgs třída je odvozena z CancelEventArgs třídy, můžete zrušit čekající SqlDataSource databázový příkaz nastavením Cancel vlastnosti na true. Před spuštěním příkazu můžete prozkoumat a manipulovat s CommandTextParameters nimi, kolekcí a dalšími vlastnostmi příkazu tak, že k objektu DbCommand vystaveném Command vlastností přistupujete.
Třída SqlDataSourceCommandEventArgs se používá v , OnUpdatingOnInsertinga OnDeleting metody poskytnout přístup k SqlDataSource databázové příkaz před spuštěním. Ovládací SqlDataSource prvek zveřejňuje mnoho událostí, které můžete zpracovat pro práci s podkladovými datovými objekty během operace dat. Následující tabulka uvádí události a přidružené EventArgs třídy obslužné rutiny a třídy obslužné rutiny událostí, které vám lépe povedou k různým událostem, které odpovídají životnímu cyklu operace dat pomocí SqlDataSource ovládacího prvku.
| Zvláštní událost | EventArgs | EventHandler |
|---|---|---|
| Selecting nastane před načtením dat. | SqlDataSourceSelectingEventArgs | SqlDataSourceSelectingEventHandler |
| Inserting, UpdatingDeleting nastane před provedením operace vložení, aktualizace nebo odstranění. | SqlDataSourceCommandEventArgs | SqlDataSourceCommandEventHandler |
| Selected, Inserted, Updateddochází Deleted po dokončení operací načtení, vložení, aktualizace nebo odstranění dat. | SqlDataSourceStatusEventArgs | SqlDataSourceStatusEventHandler |
Konstruktory
| Name | Description |
|---|---|
| SqlDataSourceCommandEventArgs(DbCommand) |
Inicializuje novou instanci SqlDataSourceCommandEventArgs třídy pomocí zadaného databázového příkazového objektu. |
Vlastnosti
| Name | Description |
|---|---|
| Cancel |
Získá nebo nastaví hodnotu určující, zda má být událost zrušena. (Zděděno od CancelEventArgs) |
| Command |
Získá čekající databázový příkaz. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |