OBJETO SQLCOMAND
1. Contenido
v Definición:
Representa un procedimiento
almacenado o una instrucción de Transact-SQL que se ejecuta en una base de
datos de SQL Server. Esta clase no se puede heredar.
Espacio de nombres:
System.Data.SqlClient
Ensamblado: System.Data (en
system.data.dll)
Sintaxis
'Declaración
Public NotInheritable Class SqlCommand
Inherits DbCommand
Implements ICloneable
'Uso
Dim instance As SqlCommand
v Propiedades
Métodos
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand.
|
||
![]() |
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand,
dados un procedimiento de devolución de llamada e información de estado.
|
|
![]() |
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand y
recupera uno o varios conjuntos de resultados del servidor.
|
|
![]() |
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand y
recupera uno o varios conjuntos de resultados del servidor, dados un
procedimiento de devolución de llamada e información de estado.
|
|
![]() |
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand,
utilizando uno de los valores de CommandBehavior y
recuperando uno o varios conjuntos de resultados del servidor, a partir del
procedimiento de devolución de llamada e información de estado dados.
|
|
![]() |
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand utilizando
uno de los valores de CommandBehavior.
|
|
![]() |
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand y
devuelve los resultados como un objeto XmlReader.
|
|
![]() |
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand y
devuelve los resultados como un objeto XmlReader a
través de un procedimiento de devolución de llamada.
|
|
![]() |
Intenta cancelar la ejecución de un SqlCommand.(Invalida DbCommand.Cancel()).
|
|
![]() |
Crea un nuevo objeto SqlCommand que
es una copia de la instancia actual.
|
|
![]() |
Crea un objeto que contiene toda la información relevante necesaria
para generar a un proxy que se utiliza para comunicarse con un objeto
remoto.(Heredado de MarshalByRefObject).
|
|
![]() |
Crea una nueva instancia de un objeto SqlParameter.
|
|
![]() |
||
![]() |
Finaliza la ejecución asincrónica de una instrucción de Transact-SQL.
|
|
![]() |
Finaliza la ejecución asincrónica de una instrucción de Transact-SQL y
devuelve el objeto SqlDataReadersolicitado.
|
|
![]() |
Finaliza la ejecución asincrónica de una instrucción de Transact-SQL y
devuelve los datos solicitados como XML.
|
|
![]() |
Determina si el objeto especificado es igual al objeto
actual.(Heredado de Object).
|
|
![]() |
Ejecuta una instrucción de Transact-SQL en la conexión y devuelve el
número de filas afectadas.(Invalida DbCommand.ExecuteNonQuery()).
|
|
![]() |
Una versión asincrónica de ExecuteNonQuery,
que ejecuta una instrucción SQL en un objeto de conexión.
Invoca ExecuteNonQueryAsync con
CancellationToken.None.(Heredado de DbCommand).
|
|
![]() |
Versión asincrónica de ExecuteNonQuery,
que ejecuta una instrucción de Transact-SQL con la conexión y devuelve el
número de filas afectadas. Token de cancelación que se puede usar para
solicitar que se abandone la operación antes de que transcurra el tiempo de
espera del comando. Las excepciones se mostrarán a través del objeto
Task devuelto.(Invalida DbCommand.ExecuteNonQueryAsync(CancellationToken)).
|
|
![]() |
Envía la propiedad CommandText a Connection y
crea un objeto SqlDataReader.
|
|
![]() |
Envía CommandText a Connection y
crea un SqlDataReader mediante
uno de los valores de CommandBehavior.
|
|
![]() |
Una versión asincrónica de ExecuteReader,
que envía la propiedad CommandText a
la propiedad Connectiony
compila SqlDataReader. Las
excepciones se mostrarán a través del objeto Task devuelto.
|
|
![]() |
Una versión asincrónica de ExecuteReader,
que envía la propiedad CommandText a
la propiedad Connectiony
compila SqlDataReader.
Token de cancelación que se puede usar para solicitar que se abandone
la operación antes de que transcurra el tiempo de espera del
comando. Las excepciones se mostrarán a través del objeto Task devuelto.
|
|
![]() |
Versión asincrónica de ExecuteReader,
que envía la propiedad CommandText a
la propiedad Connection y
compila SqlDataReader. Las
excepciones se mostrarán a través del objeto Task devuelto.
|
|
![]() |
Versión asincrónica de ExecuteReader,
que envía la propiedad CommandText a
la propiedad Connection y
compila SqlDataReader
Token de cancelación que se puede usar para solicitar que se abandone
la operación antes de que transcurra el tiempo de espera del
comando. Las excepciones se mostrarán a través del objeto Task devuelto.
|
|
![]() |
Ejecuta la consulta y devuelve la primera columna de la primera fila
del conjunto de resultados devuelto por la consulta. Las demás columnas
o filas no se tienen en cuenta.(Invalida DbCommand.ExecuteScalar()).
|
|
![]() |
Una versión asincrónica de ExecuteScalar,
que ejecuta la consulta y devuelve la primera columna de la primera fila del
conjunto de resultados devuelto por la consulta. Se omiten todas las
demás columnas y filas.
Invoca ExecuteScalarAsync con
CancellationToken.None.(Heredado de DbCommand).
|
|
![]() |
Versión asincrónica de ExecuteScalar que
ejecuta la consulta asincrónicamente y devuelve la primera columna de la
primera fila del conjunto de resultados que devuelve la consulta. Las
demás columnas o filas no se tienen en cuenta.
Token de cancelación que se puede usar para solicitar que se abandone
la operación antes de que transcurra el tiempo de espera del
comando. Las excepciones se mostrarán a través del objeto Task
devuelto.(Invalida DbCommand.ExecuteScalarAsync(CancellationToken)).
|
|
![]() |
Envía CommandText a Connection y
crea un objeto XmlReader.
|
|
![]() |
Una versión asincrónica de ExecuteXmlReader,
que envía la propiedad CommandText a
la propiedad Connection y
compila un objeto XmlReader.
Las excepciones se mostrarán a través del objeto Task devuelto.
|
|
![]() |
Una versión asincrónica de ExecuteXmlReader,
que envía la propiedad CommandText a
la propiedad Connection y
compila un objeto XmlReader.
Token de cancelación que se puede usar para solicitar que se abandone
la operación antes de que transcurra el tiempo de espera del
comando. Las excepciones se mostrarán a través del objeto Task devuelto.
|
|
![]() |
Sirve como la función hash predeterminada.(Heredado de Object).
|
|
![]() |
Recupera el objeto de servicio de duración actual que controla la
directiva de duración de esta instancia.(Heredado de MarshalByRefObject).
|
|
![]() |
||
![]() |
Obtiene un objeto de servicio de duración para controlar la directiva
de duración de esta instancia.(Heredado de MarshalByRefObject).
|
|
![]() |
Crea una versión preparada del comando en una instancia de SQL
Server.(Invalida DbCommand.Prepare()).
|
|
![]() |
Restablece el valor predeterminado de la propiedad CommandTimeout.
|
|
![]() |
v Ejemplos
En el ejemplo siguiente se crea un
SqlConnection, SqlCommandy un SqlDataReader. En el ejemplo se lee los datos,
escribiendo en la consola. Por último, el ejemplo se cierra el SqlDataReader y,
a continuación, el SqlConnection como este se cierra el Using bloques de
código.
Public Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
Try
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
Finally
' Always call Close when done reading.
reader.Close()
End Try
End Using
End Sub
Crear y ejecutar el código de ejemplo
1.
Crear una nueva aplicación Windows en
Visual .NET C# y, a continuación, agregue un control Button a
Form1.
2.
Agregue el código siguiente al
evento Click del botón:
try
{
System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection();
cn.ConnectionString="data source=(local);initial catalog=pubs;User ID=myuser;Password=mypassword";
cn.Open();
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = cn;
cmd.CommandText = "SELECT * FROM authors FOR XML AUTO, XMLDATA";
System.Xml.XmlReader xmlr = cmd.ExecuteXmlReader();
xmlr.Read();
while(xmlr.ReadState != System.Xml.ReadState.EndOfFile)
{
System.Diagnostics.Debug.WriteLine(xmlr.ReadOuterXml());
}
MessageBox.Show("Reached the end. Check the output window.");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
{
System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection();
cn.ConnectionString="data source=(local);initial catalog=pubs;User ID=myuser;Password=mypassword";
cn.Open();
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.Connection = cn;
cmd.CommandText = "SELECT * FROM authors FOR XML AUTO, XMLDATA";
System.Xml.XmlReader xmlr = cmd.ExecuteXmlReader();
xmlr.Read();
while(xmlr.ReadState != System.Xml.ReadState.EndOfFile)
{
System.Diagnostics.Debug.WriteLine(xmlr.ReadOuterXml());
}
MessageBox.Show("Reached the end. Check the output window.");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
3. Modificar la configuración de la cadena
de conexión según corresponda para su entorno.
4. Ejecutar el programa en modo de
depuración (desde Inicio o presione F5) y, a continuación, haga clic en el
botón. El objeto Xmlr XmlReader contiene los resultados de la
consulta XML de SQL. La ventana de resultados contiene el contenido del
objeto XmlReader .
2. Resumen
Puede
utilizar el método ExecuteXmlReader de la clase
System.Data.SqlClient.SqlCommand para cargar los resultados de las consultas de
lenguaje de marcado Extensible (XML) de SQL de Microsoft SQL Server a un objeto
System.Xml.XmlReader . Puede utilizar este método para ejecutar el servidor
para consultas XML y ejecutar consultas que devuelven datos XML bien formados
como texto.
Nota: este
método no está disponible en el proveedor administrado de OLE DB .NET (es
específico del proveedor administrado de .NET de SQL Server) y no funciona con
una base de datos de SQL 7.0.
Requisitos
La lista
siguiente describe el hardware, software, infraestructura de red y service
packs recomendados que necesita:
Otro
sistema operativo de Microsoft que puede alojar a SQL Server 2000, Windows 2000
Server o Microsoft Windows NT 4.0 Server
Microsoft
Visual Studio .NET
En este
artículo se supone que está familiarizado con las consultas XML y XML de SQL.
3. Summary
You can use the ExecuteXmlReader method of the System.Data.SqlClient.SqlCommand class to load the results of Microsoft SQL Server Extensible Markup Language (XML) queries into a System.Xml.XmlReader object. You can use this method to run the server for XML queries and execute queries that return well-formed XML data as text. Note: This method is not available in the .NET OLE DB Managed Provider (it is a specific SQL Server .NET provider) and does not work with a SQL 7.0 database. Requirements The following list outlines the recommended hardware, software, network infrastructure, and service packs you need: Another Microsoft operating system that can host a SQL Server 2000, Windows 2000 Server, or Microsoft Windows NT 4.0 Server Microsoft Visual Studio .NET This article assumes that you are familiar with SQL XML and XML queries.
4. Recomendaciones
Utilizamos
el Objeto SqlCommand solamente cuando necesitamos ejecutar un tipo de sentencia
Sql a la base de datos. Si deseamos ejecutar más de un tipo de sentencia Sql
a la base de datos es recomendable utilizar SqlDataAdapter. No podrás
utilizar el Objeto SqlCommand cuando necesitas ejecutar más de un tipo de
sentencia Sql o si trabajarás en escenarios desconectados.
5. Conclusiones
Utilizamos el Objeto SqlCommand solamente cuando
necesitamos ejecutar un tipo de sentencia Sql a la base de datos.
Si deseamos ejecutar
más de un tipo de sentencia Sql a la base de datos es recomendable utilizar
SqlDataAdapter.
No podrás utilizar el Objeto SqlCommand cuando necesitas
ejecutar más de un tipo de sentencia Sql o si trabajarás en escenarios
desconectados.
6. Apreciación
del Equipo
Utilizar el sqlCommand es muy favorable para utilizar en un
solo tipo de sentencia ,de otra forma seria dificultoso.
7. Glosario de
Términos
v Constructor por defecto (default
constructor) :Constructor que no tiene parámetros y sirve para inicializar
un objeto
v Compilación (compilation): Proceso de
traducción de un lenguaje de programación. Normalmente este proceso implica la
traducción de un lenguaje de programación de alto nivel a lenguaje de
programación de bajo nivel, o el formato binario de un conjunto de
instrucciones específicas. La traducción dse realiza con un programa denominado
compilador. Un compilador java traduce los programas en bytecodes.
v Depuración (debugging): Proceso de
encontrar, fijar y eliminar errores en un programa. Para estas tareas se suele
utilizar una herramienta de programación conocida como depurador
v Herencia (inheritance) :Una relación
entre clases en que una subclase se extiende desde una superclase.
8. Linkografía
https://msdn.microsoft.com/es-es/library/system.data.sqlclient.sqlcommand.commandtype(v=vs.110).aspx
No hay comentarios:
Publicar un comentario