Objeto SqlCommand
DOCENTE:
Ing. Marco
Aurelio Porro Chulli
AREA:
Laboratorio
de Programación
CARRERA:
Ingeniería
de Sistemas y Telemática.
CICLO:
IV-A.
TEMA:
Objeto SqlCommand
INTEGRANTES:
Ø Torres
Izquierdo Keyli.
Ø Tineo
Tenorio Elena.
OBJETO SQLCOMMAND
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 puede heredarse.
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. Los objetos Command
Los objetos Command de ADO.NET, que también
son dos: SqlCommand y OleDbCommand, son muy similares al objeto Command
existente en ADO. El objeto Command nos va a permitir ejecutar una sentencia
SQL o un procedimiento almacenado sobre la fuente de datos a la que estamos
accediendo.
A través de un objeto Command también
podremos obtener un conjunto de resultados del almacén de datos, en este caso
estos resultados se pasarán a otros objetos de ADO .NET, como puede ser un
DataReader o bien un objeto DataAdapter.
Un objeto Command lo vamos a poder crear a
partir de una conexión ya existente y va a contener una sentencia SQL para
ejecutar sobre la conexión con el origen de datos.
v PROPIEDADES
A continuación vamos a comentar algunas de
las propiedades más importantes que ofrecen los objetos
SqlCommand
y OleDbCommand:
Connection:
devuelve el objeto SqlConnection o OleDbConnection utilizado para ejecutar el
objeto
Command correspondiente.
CommandText:
contiene una cadena de texto que va a indicar la sentencia SQL o procedimiento
almacenado que se va a ejecutar sobre el origen de los datos.
CommandType:
indica el tipo de comando que se va a ejecutar contra el almacén de datos, es
decir, indica cómo se debe interpretar el valor de la propiedad CommadText.
Puede tener los siguientes valores; StoredProcedure, para indicar que se trata
de un procedimiento almacenado; TableDirect se trata de obtener una tabla por
su nombre (únicamente aplicable al objeto OleDbCommand); y Text que indica que
es una sentencia SQL. EL valor por defecto es Text.
Parameters:
colección de parámetros que se pueden utilizar para ejecutar el objeto Command,
esta colección se utiliza cuando deseamos ejecutar sentencias SQL que hacen uso
de parámetros, esta propiedad devuelve un objeto de la clase
SqlParameterCollection o un objeto de la clase OleDbParameterCollection. Estas
colecciones contendrán objetos de la clase SqlParameter y OleDbParameter,
respectivamente, para representar a cada uno de los parámetros utilizados.
Estos parámetros también son utilizados para ejecutar procedimientos
almacenados.
CommandTimeout:
tiempo de espera en segundos que se va a aplicar a la ejecución de un objeto
Command. Su valor por defecto es de 30
segundos.
Una vez vistas algunas de las propiedades de
las clases SqlCommand y OleDbCommand vamos a pasar a comentar brevemente los
métodos más usuales de estas clases:
CreateParameter:
crea un parámetro para el que después podremos definir una serie de
características específicas como pueden ser el tipo de dato, su valor, tamaño,
etc. Devolverá un objeto de la clase SqlParameter u OleDbParameter.
ExecuteNonQuery:
ejecuta la sentencia SQL definida en la propiedad ComandText contra la conexión
definida en la propiedad Connection, para un tipo de consulta que no devuelve
un conjunto de registros, puede ser una sentencia Update, Delete o Insert. Este
método devuelve un entero indicando el número de filas que se han visto
afectadas por la ejecución del objeto Command.
ExecuteReader:
ejecuta la sentencia SQL definida en la propiedad ComandText contra la conexión
definida en la propiedad Connection, para un tipo de consulta que devuelve un
conjunto de registros, puede ser una sentencia Select. Este método devolverá un
objeto de la clase SqlDataReader/OleDbDataReader, que nos va a permitir leer y
recorrer los resultados devueltos por la ejecución del objeto Command
correspondiente.
ExecuteScalar:
este otro método para ejecutar objetos Command se utiliza cuando deseamos
obtener la primera columna de la primera fila del conjunto de registros, el
resto de datos no se tendrán en cuenta. La utilización de este método tiene
sentido cuando estamos ejecutando una sentencia SQL del tipo Select count(*).
Este método devuelve un objeto de la clase Object.
Prepare:
este método construye una versión compilada del objeto Command dentro del
almacén de datos.
v MÉTODOS
Método
SqlCommand.BeginExecuteNonQuery: Inicia la
ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento
almacenado que describe SqlCommand.
MétodoSqlCommand.BeginExecuteNonQuery
(AsyncCallback, Object): 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.
Nombre Descripción
System_CAPS_pubmethod BeginExecuteNonQuery:
Inicia la ejecución asincrónica de la
instrucción de Transact-SQL o del procedimiento almacenado que describe
SqlCommand.
System_CAPS_pubmethod
BeginExecuteNonQuery(AsyncCallback, Object):
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.
System_CAPS_pubmethod BeginExecuteReader():
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.
System_CAPS_pubmethod
BeginExecuteReader(AsyncCallback, Object):
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.
System_CAPS_pubmethod
BeginExecuteReader(AsyncCallback, Object, CommandBehavior):
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.
System_CAPS_pubmethod
BeginExecuteReader(CommandBehavior):
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.
System_CAPS_pubmethod BeginExecuteXmlReader()
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.
System_CAPS_pubmethod
BeginExecuteXmlReader(AsyncCallback, Object)
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.
System_CAPS_pubmethod Cancel()
Intenta cancelar la ejecución de un
SqlCommand.(Invalida DbCommand.Cancel()).
System_CAPS_pubmethod Clone()
Crea un nuevo objeto SqlCommand que es una
copia de la instancia actual.
System_CAPS_pubmethod CreateObjRef(Type)
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).
System_CAPS_pubmethod CreateParameter()
Crea una nueva instancia de un objeto
SqlParameter.
System_CAPS_pubmethod Dispose()
Libera todos los recursos que usa
Component.(Heredado de Component).
System_CAPS_pubmethod
EndExecuteNonQuery(IAsyncResult)
Finaliza la ejecución asincrónica de una
instrucción de Transact-SQL.
System_CAPS_pubmethod
EndExecuteReader(IAsyncResult)
Finaliza la ejecución asincrónica de una
instrucción de Transact-SQL y devuelve el objeto SqlDataReader solicitado.
System_CAPS_pubmethod
EndExecuteXmlReader(IAsyncResult)
Finaliza la ejecución asincrónica de una
instrucción de Transact-SQL y devuelve los datos solicitados como XML.
System_CAPS_pubmethod Equals(Object)
Determina si el objeto especificado es igual
al objeto actual.(Heredado de Object).
System_CAPS_pubmethod ExecuteNonQuery()
Ejecuta una instrucción de Transact-SQL en la
conexión y devuelve el número de filas afectadas.(Invalida
DbCommand.ExecuteNonQuery()).
System_CAPS_pubmethod ExecuteNonQueryAsync()
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).
System_CAPS_pubmethod
ExecuteNonQueryAsync(CancellationToken)
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)).
System_CAPS_pubmethod ExecuteReader()
Envía la propiedad CommandText a Connection y
crea un objeto SqlDataReader.
System_CAPS_pubmethod
ExecuteReader(CommandBehavior)
Envía CommandText a Connection y crea un
SqlDataReader mediante uno de los valores de CommandBehavior.
System_CAPS_pubmethod ExecuteReaderAsync()
Una 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.
System_CAPS_pubmethod
ExecuteReaderAsync(CancellationToken)
Una 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.
System_CAPS_pubmethod
ExecuteReaderAsync(CommandBehavior)
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.
System_CAPS_pubmethod
ExecuteReaderAsync(CommandBehavior, CancellationToken)
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.
System_CAPS_pubmethod ExecuteScalar()
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()).
System_CAPS_pubmethod ExecuteScalarAsync()
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. InvocaExecuteScalarAsync con CancellationToken.None.(Heredado
de DbCommand).
System_CAPS_pubmethod
ExecuteScalarAsync(CancellationToken)
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)).
System_CAPS_pubmethod ExecuteXmlReader()
Envía CommandText a Connection y crea un
objeto XmlReader.
System_CAPS_pubmethod ExecuteXmlReaderAsync()
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.
System_CAPS_pubmethod
ExecuteXmlReaderAsync(CancellationToken)
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.
System_CAPS_pubmethod GetHashCode()
Sirve como la función hash
predeterminada.(Heredado de Object).
System_CAPS_pubmethod GetLifetimeService()
Recupera el objeto de servicio de duración
actual que controla la directiva de duración de esta instancia.(Heredado de
MarshalByRefObject).
System_CAPS_pubmethod GetType()
Obtiene el Type de la instancia
actual.(Heredado de Object).
System_CAPS_pubmethod InitializeLifetimeService()
Obtiene un objeto de servicio de duración
para controlar la directiva de duración de esta instancia.(Heredado de MarshalByRefObject).
System_CAPS_pubmethod Prepare()
Crea una versión preparada del comando en una
instancia de SQL Server.(Invalida DbCommand.Prepare()).
System_CAPS_pubmethod ResetCommandTimeout()
Restablece el valor predeterminado de la
propiedad CommandTimeout.
System_CAPS_pubmethod ToString()
Devuelve un String que contiene el nombre de
la Component, si existe. Este método no se debe invalidar. (Heredado de
Component).
v EJEMPLOS
En el siguiente ejemplo se crea un objeto
SqlCommand y, a continuación, se ejecuta mediante ExecuteScalar. En el ejemplo
se pasan una cadena que representa un nuevo valor que se va a insertar en una
tabla y una cadena que se va a utilizar para conectar al origen de datos. La
función devuelve el nuevo valor de la columna Identity si se ha insertado una
nueva fila; devuelve 0 en caso de error.
Public
Function AddProductCategory( _
ByVal newName As String, ByVal connString As
String) As Integer
Dim newProdID As Int32 = 0
Dim sql As String = _
"INSERT INTO
Production.ProductCategory (Name) VALUES (@Name); " _
& "SELECT CAST(scope_identity()
AS int);"
Using conn As New SqlConnection(connString)
Dim cmd As New SqlCommand(sql, conn)
cmd.Parameters.Add("@Name",
SqlDbType.VarChar)
cmd.Parameters("@Name").Value
= newName
Try
conn.Open()
newProdID =
Convert.ToInt32(cmd.ExecuteScalar())
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
Return newProdID
End
Function
Otro Ejemplo:
Module Module1
Sub Main()
ejemploSQL()
Console.ReadLine()
End Sub
Sub ejemploSQL()
Dim sql As New AccesoDatosSQL
Dim t As Integer = sql.TotalRegistros()
Console.WriteLine("El total de
registros es: {0}", t)
Console.WriteLine()
Dim id As Integer
' Usando un command
id = sql.Insertar("Guillermo",
"Som", _
"guille@nombres.com", DateTime.Now, _
"Prueba de
insertar datos " & t + 1)
Console.WriteLine("El nuevo ID es:
{0}", id)
' Usando un dataAdapter
'id = sql.InsertarAdapter("Guillermo",
"Som", _
'
"guille@nombres.com", DateTime.Now, _
' "Prueba de
insertar datos " & t + 1)
'Console.WriteLine("El nuevo ID
es: {0}", id)
' Actualizar el ID 2
id = 2
sql.Actualizar(id, "Guillermo
nº" & id, "Som", _
"guille@nombres.com", DateTime.Now)
End Sub
End Module
En el ejemplo siguiente, se
muestra un uso más interesante para el objeto Command. En el ejemplo, el texto
del comando SQL se ha modificado para hacerlo parametrizado. De este modo, se
puede volver a utilizar el comando, pasando un valor diferente para el
parámetro cada vez. Dado que la propiedad Prepared del objeto Command se ha
establecido en True, ADO requerirá que el proveedor compile el comando
especificado en CommandText antes de ejecutarlo por primera vez. También guardará
el comando compilado en memoria. Esto ralentiza ligeramente la ejecución del
comando la primera vez que se ejecuta, debido a la sobrecarga necesaria para
prepararlo, pero tiene como consecuencia una mejora del rendimiento cada vez
que se vuelve a llamar al comando posteriormente. Por tanto, los comandos sólo
se deberían preparar si se van a utilizar más de una vez.
'BeginManualParamCmd
On Error GoTo ErrHandler:
Dim objConn As New ADODB.Connection
Dim objCmd As New ADODB.Command
Dim objParm1 As New ADODB.Parameter
Dim objRs As New ADODB.Recordset
' Set the CommandText as a parameterized SQL
query.
objCmd.CommandText = "SELECT OrderID,
OrderDate, " & _
"RequiredDate, ShippedDate " & _
"FROM Orders " & _
"WHERE CustomerID = ? " & _
"ORDER BY OrderID"
objCmd.CommandType = adCmdText
' Prepare command since we will be executing
it more than once.
objCmd.Prepared = True
' Create new parameter for CustomerID. Initial
value is ALFKI.
Set objParm1 = objCmd.CreateParameter("CustId",
adChar, _
adParamInput, 5, "ALFKI")
objCmd.Parameters.Append objParm1
' Connect to the data source.
Set objConn = GetNewConnection
objCmd.ActiveConnection = objConn
' Execute once and display...
Set objRs = objCmd.Execute
Debug.Print
objParm1.Value
Do While Not objRs.EOF
Debug.Print vbTab & objRs(0) & vbTab
& objRs(1) & vbTab & _
objRs(2) & vbTab & objRs(3)
objRs.MoveNext
Loop
' ...then set new param value, re-execute
command, and display.
objCmd("CustId") = "CACTU"
Set objRs = objCmd.Execute
Debug.Print objParm1.Value
Do While Not objRs.EOF
Debug.Print vbTab & objRs(0) & vbTab
& objRs(1) & vbTab & _
objRs(2) & vbTab & objRs(3)
objRs.MoveNext
Loop
'clean up
objRs.Close
objConn.Close
Set
objRs = Nothing
Set objConn = Nothing
Set objCmd = Nothing
Set objParm1 = Nothing
Exit Sub
ErrHandler:
'clean up
If objRs.State = adStateOpen Then
objRs.Close
End If
If objConn.State = adStateOpen Then
objConn.Close
End If
Set objRs = Nothing
Set objConn = Nothing
Set objCmd = Nothing
Set objParm1 = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->"
& Err.Description, , "Error"
End If
'EndManualParamCmd
2.
RESUMEN
Con las colecciones, los métodos y las
propiedades de un objeto Command, puede hacer lo siguiente:
Definir el texto ejecutable del comando (por
ejemplo, una instrucción SQL o un procedimiento almacenado) utilizando la propiedad
CommandText.
Definir consultas parametrizadas o argumentos
de procedimientos almacenados utilizando objetos Parameter y la colección
Parameters.
Ejecutar un comando y devolver un objeto
Recordset, si procede, usando el método Execute.
Especificar el tipo de comando mediante la
propiedad CommandType antes de la ejecución para optimizar el rendimiento.
Controlar si el proveedor guarda una versión
preparada (o compilada) del comando antes de la ejecución mediante la propiedad
Prepared.
Establecer el número de segundos que esperará
un proveedor para la ejecución de un comando mediante la propiedad
CommandTimeout.
Asociar una conexión abierta con un objeto
Command estableciendo su propiedad ActiveConnection.
Establecer la propiedad Name para identificar
el objeto Command como un método en el objeto Connection asociado.
Pasar un objeto Command a la propiedad Source de un
conjunto de registros para obtener datos.
3.
SUMMARY
With the collections, methods, and properties
of a Command object, you can do the following:
Define the executable text of the command
(for example, an SQL statement or a stored procedure) using the CommandText
property.
Define parameterized queries or stored
procedure arguments using Parameter objects and the Parameters collection.
Run a command and return a Recordset object,
if applicable, using the Execute method.
Specify the command type by using the
CommandType property before execution to optimize performance.
Control whether the provider saves a prepared
(or compiled) version of the command before execution by using the Prepared
property.
Set the number of seconds a vendor will wait
for a command to execute using the CommandTimeout property.
Associate an open connection with a Command
object by setting its ActiveConnection property.
Set the Name property to identify the Command
object as a method on the associated Connection object.
Pass a Command object to the Source property of a
recordset to get data.
4.
RECOMENDACIONES
·
No todos los proveedores admiten comandos
preparados. Si el proveedor no admite la preparación de comandos, podría
devolver un error en cuanto esta propiedad se estableciese en True. Si no
devuelve un error, omite la solicitud de preparar el comando y establece la
propiedad Prepared en False.
·
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
·
Un SqlCommand se utiliza cuando necesitas
ejecutar un tipo de sentencia Sql a la base de datos (los tipos pueden ser:
Delete, Update, Insert o Select). Por su parte el SqlDataAdapter se utiliza si
requieres ejecutar más de un tipo de sentencia Sql o si trabajarás en
escenarios desconectados.
·
Los comandos contienen la información que se
envía a una base de datos y se representan mediante clases específicas de un
proveedor, como SQLCommand. Un comando podría ser una llamada a un
procedimiento almacenado, una instrucción UPDATE o una instrucción que devuelve
resultados. También es posible utilizar parámetros de entrada o de resultados y
devolver valores como parte de la sintaxis del comando.
·
Podemos concluir que si no necesitas trabajar
en escenarios desconectados y si solo necesitas utilizar un comando a la vez,
utiliza un SqlCommand, de lo contrario un SqlDataAdapter.
6.
APRECIACION DEL EQUIPO
El
Objeto SqlCommand se utiliza cuando necesitas ejecutar un tipo de sentencia Sql
a la base de datos y también el Objeto SqlCommand tiene un conjunto de
propiedades y métodos.
7.
GLOSARIO DE TERMINOS
Método de la clase: Sinónimo
de método estático. Un método que se puede invocar sin crear una instancia de
la clase. Para definir
métodos de clases, se ha de poner un
modificador static
en la declaración del método.
Método de la instancia: Un
método (o procedimiento)declarado por un clase que se
llama
por sus objetos de instancias (o los de las subclases).
SqlCommand()
Inicializa
una nueva instancia de la clase SqlCommand.
SqlCommand(String)
Inicializa
una nueva instancia de la clase SqlCommand con el texto de la consulta.
SqlCommand(String, SqlConnection)
Inicializa
una nueva instancia de la clase SqlCommand con el texto de la consulta y una
conexión SqlConnection.
SqlCommand(String, SqlConnection, SqlTransaction)
Inicializa
una nueva instancia de la clase SqlCommand con el texto de la consulta, un
objeto SqlConnection y el objeto SqlTransaction.
Exception Condition
InvalidCastException
Se
usó un elemento SqlDbType distinto de Binary o VarBinary cuando Value se
estableció en Stream. Para obtener más información sobre streaming, vea
Compatibilidad de transmisión de datos de SqlClient.
Se
usó un elemento SqlDbType distinto de Char, NChar, NVarChar, VarChar o Xml
cuando Value se estableció en TextReader.
Se
usó un SqlDbType distinto de Xml o cuando Value se estableció en XmlReader.
SqlException
Se
produjo una excepción al ejecutar el comando contra una fila bloqueada. Esta
excepción no se genera cuando se usa Microsoft .NET
Se
agotó el tiempo de espera durante una operación de streaming. Para obtener más
información sobre streaming, vea Compatibilidad de transmisión de datos de
SqlClient.
InvalidOperationException
La
SqlConnection se cerró o se interrumpió durante una operación de streaming.
Para obtener más información sobre streaming, vea Compatibilidad de transmisión
de datos de SqlClient.
IOException
Se
produjo un error en un objeto Stream, XmlReader o TextReader durante una
operación de streaming. Para obtener más información sobre streaming, vea Compatibilidad
de transmisión de datos de SqlClient.
8.
BIBLIOGRAFIA O LINKOGRAFIA

Comentarios
Publicar un comentario