Professional Documents
Culture Documents
ADO.NET
GRUPO 70:
Itziar Uranga Martin
David Pablos Gonzalez
ADO.NET GRUPO 70
• MODO DESCONECTADO
Un entorno desconectado es aquel en el que un usuario o una
aplicación no están conectados constantemente a una fuente de
datos. Las aplicaciones de Internet utilizan frecuentemente
arquitecturas desconectadas. Se abre la conexión, se recuperan
los datos y la conexión se cierra. Las conexiones se utilizan
durante el menor tiempo posible, permitiendo que menos
conexiones den servicio a más usuarios pero los datos no
siempre están actualizados.
• OBJETO CONNECTION
El objeto Connection nos proporciona una conexión a una base
de datos desde una página ASP.
PROPIEDADES
Ejemplo:
METODOS
Ejemplo:
• OBJETO COMMAND
Propiedades públicas
Nombre Descripción
CommandText Obtiene o establece el comando de texto
que se debe ejecutar en el origen de
datos.
CommandTimeout Obtiene o establece el tiempo de espera
antes de terminar el intento de ejecutar
un comando y generar un error.
CommandType Indica o especifica cómo se interpreta la
ADO.NET GRUPO 70
propiedad CommandText.
Connection Obtiene o establece el objeto DbConnection
que utiliza este DbCommand.
Container Obtiene IContainer que contiene Component.
(Se hereda de Component).
DesignTimeVisible Obtiene o establece un valor que indica si
el objeto de comando debe estar visible en
un control de interfaz personalizado.
Parameters Obtiene la colección de objetos
DbParameter.
Site Obtiene o establece ISite de Component.(Se
hereda de Component).
Transaction Obtiene o establece la transacción
DbTransaction en la que se ejecuta este
objeto DbCommand.
UpdatedRowSource Obtiene o establece cómo se aplican los
resultados de un comando al objeto DataRow
cuando lo utiliza el método Update de un
objeto DbDataAdapter.
Métodos públicos
Nombre Descripción
Cancel Intenta cancelar la ejecución de
un objeto DbCommand.
CreateObjRef Crea un objeto que contiene toda
la información relevante
necesaria para generar un proxy
utilizado para comunicarse con un
objeto remoto. (Se hereda de
MarshalByRefObject).
CreateParameter Crea una nueva instancia de un
objeto DbParameter.
Dispose Sobrecargado. Libera los recursos
utilizados por el objeto
Component. (Se hereda de
Component).
Equals Sobrecargado. Determina si dos
instancias de Object son iguales.
(Se hereda de Object).
ExecuteNonQuery Ejecuta una instrucción SQL en un
objeto de conexión.
ExecuteReader Sobrecargado. Ejecuta
CommandText en Connection y
devuelve un objeto DbDataReader.
ExecuteScalar Ejecuta la consulta y devuelve la
primera columna de la primera
fila del conjunto de resultados
que devuelve la consulta. Se
omiten todas las demás columnas y
filas.
ADO.NET GRUPO 70
• OBJETO TRANSACTION
Las transacciones de ADO.NET se utilizan cuando se desea
enlazar varias tareas para que se ejecuten como una sola
unidad de trabajo. Por ejemplo, consideremos una aplicación
que realiza dos tareas. Primero, actualiza una tabla con
información de pedidos y luego, actualiza una tabla que
contiene la información de inventario, cargando en cuenta los
elementos pedidos. Si alguna de las tareas da error, ambas
actualizaciones se revierten.
Constructores
Nombre Descripción
DbTransaction Inicializa un nuevo objeto DbTransaction.
Métodos
Nombre Descripción
Confirma la transacción de base de
Commit
datos.
Crea un objeto que contiene toda la
información relevante necesaria para
CreateObjRef generar un proxy utilizado para
comunicarse con un objeto remoto. (Se
hereda de MarshalByRefObject).
Sobrecargado. Libera los recursos no
administrados que utiliza
Dispose
DbTransaction y, opcionalmente,
libera los recursos administrados.
Determina si el objeto Object
Equals especificado es igual al objeto
Object actual. (Se hereda de Object).
Permite que un objeto Object intente
liberar recursos y realizar otras
operaciones de limpieza antes de que
Finalize
el objeto Object sea reclamado por el
recolector de elementos no
utilizados. (Se hereda de Object).
Actúa como función hash para un tipo
GetHashCode
concreto. (Se hereda de Object).
Recupera el objeto de servicio de
duración actual que controla la
GetLifetimeService directiva de duración de esta
instancia. (Se hereda de
MarshalByRefObject).
Obtiene el objeto Type de la
GetType instancia actual. (Se hereda de
Object).
Obtiene un objeto de servicio de
duración para controlar la directiva
InitializeLifetimeService
de duración de esta instancia. (Se
hereda de MarshalByRefObject).
MemberwiseClone Sobrecargado.
Deshace una transacción desde un
Rollback
estado pendiente.
Devuelve una clase String que
ToString representa la clase Object actual.
(Se hereda de Object).
ADO.NET GRUPO 70
Propiedades
Nombre Descripción
Especifica el objeto DbConnection asociado a la
Connection
transacción.
Especifica el objeto DbConnection asociado a la
DbConnection
transacción.
IsolationLevel Especifica IsolationLevel para esta transacción.
Nombre Descripción
Obtiene el objeto DbConnection
asociado a la transacción, o una
IDbTransaction..::.Connection
referencia nula si la transacción
ya no es válida.
myConnection.Open()
Try
myCommand.CommandText = "Insert into Region (RegionID,
RegionDescription) VALUES (100, 'Description')"
myCommand.ExecuteNonQuery()
myCommand.CommandText = "Insert into Region (RegionID,
RegionDescription) VALUES (101, 'Description')"
myCommand.ExecuteNonQuery()
myTrans.Commit()
Console.WriteLine("Both records are written to database.")
Catch e As Exception
Try
myTrans.Rollback()
Catch ex As SqlException
If Not myTrans.Connection Is Nothing Then
Console.WriteLine("An exception of type " &
ex.GetType().ToString() & _
" was encountered while attempting to
roll back the Transaction.")
End If
End Try
EXECUTENONQUERY, E X E C U T E S C A L A R, E X E C U T E R E A D E R
http://www.elguille.info/NET/ADONET/
cuando_usar_ExecuteNonQuery_o_ExecuteScalar.htm
F u e n t e : http://www.forosdelweb.com/f29/executereader-
exceutescalar-executenonquery-301123/
EJEMPLO EXECUTENONQUERY VB
cmd.Parameters.Add("@cuantos", SqlDbType.Int)
cmd.Parameters.Add("@hastaMesActual", SqlDbType.Bit)
ADO.NET GRUPO 70
cmd.Parameters("@cuantos").Value =
CInt(Me.txtCuantos.Text)
cmd.Parameters("@hastaMesActual").Value =
Me.chkHastaEstemes.Checked
cnn.Open()
cmd.ExecuteNonQuery()
LabelAgregar.Text = "Añadir datos de ejemplo (indica el
número):"
LabelStatus.Text = "Datos añadidos correctamente"
Catch ex As Exception
Me.LabelAgregar.Text = "Error: " & ex.Message
LabelStatus.Text = "ERROR"
Finally
If cnn IsNot Nothing AndAlso cnn.State <>
ConnectionState.Closed Then
cnn.Close()
End If
End Try
• EXECUTESCALAR
SINTAXIS
int i = tu_comando_sql.ExecuteEscalar();
EJEMPLO EXECUTESCALAR VB
Return newProdID
End Function
• EXECUTEREADER
SINTAXIS
C u a n d o l a p r o p i e d a d CommandType s e e s t a b l e c e e n
StoredProcedure, la propiedad CommandText se debe establecer
con el nombre del procedimiento almacenado. El comando ejecuta
este procedimiento almacenado cuando se llama al método
ExecuteReader.
EJEMPLO EXECUTEREADER
nwindConn.Open()
Do While myReader.Read()
Console.WriteLine("{0}, ${1}", myReader.GetString(0),
myReader.GetDecimal(1))
Loop
myReader.Close()
nwindConn.Close()
• RESUMEN:
CLASES DAT A R E A D E R Y D A T A A D A P T E R
abajo) de a una fila por vez. Este objeto podrá mostrar los
datos siempre y cuando se mantenga conectado a la base de
datos. Si la conexión se pierde, los datos también.
_ Metodos:
Nombre Descripción
Obtiene la siguiente tupla. Devuelve falso si
Read
no hay mas
Devuelve el valor del campo indicado de la
Item(<id-campo>)
tupla en curso
GetName(número
Devuelve el nombre de la columna
columna)
GetFieldData(<id-
Devuelve el tipo de datos del campo indicado
campo>)
En resumen,
http://www.asptutor.com/asp/vart.asp?id=2
http://msdn2.microsoft.com/es-es/library/
70k6287b.aspx
http://msdn2.microsoft.com/en-us/library/
system.data.dataset(VS.80).aspx
http://msdn2.microsoft.com/en-us/library/
system.data.dataview(VS.71).aspx
http://msdn2.microsoft.com/en-us/library/
system.data.datatable(VS.71).aspx
ADO.NET GRUPO 70
Garbiñe López
Carmen Rodríguez