Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad SqlDataSourceStatusEventArgs.Command

 

Publicado: octubre de 2016

Obtiene el comando de base de datos enviado a la base de datos.

Espacio de nombres:   System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

public DbCommand Command { get; }

Valor de propiedad

Type: System.Data.Common.DbCommand

La DbCommand objeto que representa el comando de base de datos que se envía a la base de datos.

Puede controlar la Selected, Updated, Inserted, o Deleted eventos para examinar y manipular las propiedades de la DbCommand una vez que se envía por la SqlDataSource control para la base de datos. El Command propiedad permite obtener acceso a los valores de los parámetros de salida y valores devueltos después de la operación de base de datos se realiza a través de su Parameters propiedad, así como el CommandText propiedad, que representa la consulta SQL, el comando o el nombre del procedimiento almacenado que se ha enviado a la base de datos.

Los parámetros de salida son específicamente de los parámetros que tienen un InputOutput o Output valor para el Direction propiedad de la Parameter objeto. Un valor devuelto de un parámetro que tiene un ReturnValue valor.

En el ejemplo de código siguiente se muestra cómo examinar los valores de parámetros de salida cuando se usa un SqlDataSource control con un procedimiento almacenado. El SelectParameters colección contiene los parámetros que el SqlDataSource utiliza para el procedimiento almacenado y consta de los parámetros que pasan información del formulario Web al procedimiento almacenado, así como parámetros que devuelven información al formulario. Este ejemplo de código forma parte de un ejemplo mayor proporcionado para el SqlDataSourceStatusEventArgs clase.

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

<script runat="server">
// Clicking the Submit button explicitly refreshes the data 
// by calling the Select() method.
private void Submit(Object source, EventArgs e) {
  SqlDataSource1.Select(DataSourceSelectArguments.Empty);
}

// This event handler is called after the Select() method is executed.
private void OnSelectedHandler(Object source, SqlDataSourceStatusEventArgs e) {

  IDbCommand cmd = e.Command; 

  Label1.Text = "Parameter return values: ";

  foreach (SqlParameter param in cmd.Parameters) {
    //  Extract the value of the parameter.
    Label1.Text += param.ParameterName + " - " + param.Value.ToString();
  }
}
</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"
            datasourcemode="DataSet"
            connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
            selectcommand="getordertotal"
            onselected="OnSelectedHandler">
            <selectparameters>
              <asp:querystringparameter name="empId" querystringfield="empId" />
              <asp:parameter name="total" type="Int32" direction="Output" defaultvalue="0" />
              <asp:parameter name="_ret" type="Int32" direction="ReturnValue" defaultvalue="0" />
            </selectparameters>
        </asp:sqldatasource>
        <!--
          CREATE PROCEDURE dbo.getordertotal
            @empId int,
            @total int OUTPUT
          as
            set nocount on
            select @total    = count(1) from orders where employeeid=@empid;
            select * from orders where employeeID = @empId ;
            return (-1000);
          GO
        -->

        <asp:gridview
          id="GridView1"
          runat="server"
          allowpaging="True"
          pagesize="5"
          datasourceid="SqlDataSource1" />

        <asp:button
          id="Button1"
          runat="server"
          onclick="Submit"
          text="Refresh Data" />

        <asp:label id="Label1" runat="server" />

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

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: