"AÑO DEL BUEN SERVICIO AL CIUDADANO"
ESCUELA ACADÉMICA INGENIERÍA DE SISTEMAS Y TELEMÁTICA
ASIGNATURA
LABORATORIO DE PROGRAMACIÓN I
TEMA
OBJETO SQLDATAADAPTER
AUTORES
ARISTA CORONEL JORGE LUIS
RAMOS FERNÁNDEZ SONIA ELVIRA
DOCENTE
ING. MARCO AURELIO PORRO CHULLI
BAGUA GRANDE-UTCUBAMBA
AMAZONAS
2017
1.
CONTENIDO
DEFINICION:
Representa
un conjunto de comandos de datos y una conexión de base de datos que se
utilizan para rellenar un DataSet y actualizar una base de datos de
SQL Server. Esta clase no se puede heredar. SqlDataAdapter, Se utiliza como un
puente entre DataSet y SQL Server para recuperar y guardar datos.
SqlDataAdapter proporciona este puente mediante la asignación de Fill, que
cambia los datos en DataSet para que coincidan con los datos del origen de
datos; y Update, que cambia los datos en el origen de datos para que
coincidan con los datos en DataSet utilizando las instrucciones de Transact-SQL
en el origen de datos adecuado.
DbDataAdapter.Fill.
Rellena un objeto DataSet o un objeto DataTable.
DbDataAdapter.Update.
Llama a las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila
insertada, actualizada o eliminada en DataSet.
Transact
SQL
.Es el lenguaje de programación que proporciona SQL Server para ampliar SQL con
los elementos característicos de los lenguajes de programación: variables,
sentencias de control de flujo.
PROPIEDADES:
Ø AcceptChangesDuringFill:
Obtiene o establece un valor que indica si AcceptChanges se llama en un DataRow
después de agregarlo a la DataTable durante alguno de los rellenar
operaciones.(Heredado de DataAdapter).
Ø AcceptChangesDuringUpdate:
Obtiene o establece si AcceptChanges se llama durante una Update.(Heredado de
DataAdapter).
Ø Container:
Obtiene IContainer que contiene Component.(Heredado de Component).
Ø ContinueUpdateOnError:
Obtiene o establece un valor que especifica si generar una excepción cuando un
error se produce durante una actualización de fila.(Heredado de DataAdapter).
Ø DeleteCommand: Obtiene
o establece una instrucción Transact-SQL o un procedimiento almacenado para
eliminar registros del conjunto de datos.
Ø FillCommandBehavior: Obtiene
o establece el comportamiento del comando utilizado para rellenar el adaptador
de datos. (Heredado de DbDataAdapter).
Ø FillLoadOption: Obtiene
o establece el LoadOption que determina cómo rellena el adaptador el DataTable
desde el DbDataReader.(Heredado de DataAdapter).
Ø InsertCommand: Obtiene
o establece una instrucción Transact-SQL o procedimiento almacenado para
insertar nuevos registros en el origen de datos.
Ø MissingMappingAction: Determina
la acción que se realizará cuando los datos de entrada no tiene una tabla o
columna correspondiente. (Heredado de DataAdapter).
Ø MissingSchemaAction: Determina
la acción que se realizará cuando existente DataSet esquema no coincide con los
datos entrantes. (Heredado de DataAdapter).
Ø ReturnProviderSpecificTypes: Obtiene
o establece si el Fill método debe devolver valores específicos del proveedor o
valores comunes conforme a CLS. (Heredado de DataAdapter).
Ø SelectCommand: Obtiene
o establece una instrucción de Transact-SQL o el procedimiento almacenado
utilizado para seleccionar registros del origen de datos.
Ø Site: Obtiene o establece
la ISite de la Component. (Heredado de Component).
Ø TableMappings: Obtiene
una colección que proporciona la asignación principal entre una tabla de origen
y un DataTable. (Heredado de DataAdapter).
Ø UpdateBatchSize: Obtiene
o establece el número de filas procesadas en cada ida y vuelta al servidor. (Invalida
DbDataAdapter.UpdateBatchSize).
Ø UpdateCommand: Obtiene
o establece una instrucción de Transact-SQL o el procedimiento almacenado
utilizado para actualizar registros en el origen de datos.
METODOS:
Ø 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).
Ø Dispose(): Libera
todos los recursos que usa Component.(Heredado de Component).
Ø Equals(Object): Determina
si el objeto especificado es igual al objeto actual.(Heredado de Object).
Ø Fill(DataSet): Agrega
o actualiza filas en el DataSet.(Heredado de DbDataAdapter).
Ø Fill(DataSet, Int32, Int32, String): Agrega
o actualiza filas en un intervalo especificado en el DataSet que coincidan con
las de origen de datos utilizando el DataSet y DataTable nombres.(Heredado de
DbDataAdapter).
Ø Fill(DataSet, String): Agrega
o actualiza filas en el DataSet que coincidan con las de origen de datos utilizando
el DataSet y DataTable nombres.(Heredado de DbDataAdapter).
Ø Fill(DataTable): Agrega
o actualiza filas en un intervalo especificado en el DataSet que coincidan con
las de origen de datos utilizando el DataTable nombre.(Heredado de
DbDataAdapter).
Ø Fill(Int32, Int32, DataTable()): Agrega
o actualiza filas en un DataTable que coincidan con las del origen de datos,
empezando en el registro especificado y recuperar hasta el número máximo
especificado de registros.(Heredado de DbDataAdapter).
Ø FillSchema(DataSet, SchemaType): Agrega
una DataTable denominada "Table" para el DataSet especificado y
configura el esquema para que coincida con el origen de datos basado en el
SchemaType especificado.(Heredado de DbDataAdapter).
Ø FillSchema(DataSet, SchemaType, String): Agrega
un elemento DataTable denominado "Table" para el elemento DataSet
especificado y configura el esquema para que coincida con el del origen de
datos basado en los elementos especificados SchemaType y DataTable.(Heredado de
DbDataAdapter).
Ø FillSchema(DataTable, SchemaType): Configura
el esquema del elemento DataTable especificado en función del elemento
SchemaType especificado.(Heredado de DbDataAdapter).
Ø GetFillParameters(): Obtiene
los parámetros establecidos por el usuario al ejecutar una instrucción
SELECT de SQL.
Ø GetHashCode(): Sirve
como la función hash predeterminada.(Heredado de Object).
Ø GetLifetimeService(): Recupera
el objeto de servicio de duración actual que controla la directiva de duración
de esta instancia.(Heredado de MarshalByRefObject).
Ø GetType(): Obtiene
el Type de la instancia actual.(Heredado de Object).
Ø InitializeLifetimeService(): Obtiene
un objeto de servicio de duración para controlar la directiva de duración de
esta instancia.(Heredado de MarshalByRefObject).
Ø ResetFillLoadOption(): Restablece
FillLoadOption a su estado predeterminado y causas DataAdapter.Fill respetando
AcceptChangesDuringFill.(Heredado de DataAdapter).
Ø ShouldSerializeAcceptChangesDuringFill() : Determina si el
AcceptChangesDuringFill debe persistir la propiedad.(Heredado de DataAdapter).
Ø ShouldSerializeFillLoadOption(): Determina si
el FillLoadOption debe persistir la propiedad.(Heredado de DataAdapter).
Ø ToString(): Devuelve
un String que contiene el nombre de la Component, si existe. Este método no se
debe invalidar. (Heredado de Component).
Ø Update(DataRow()): Actualiza
los valores de la base de datos mediante la ejecución de las instrucciones
INSERT, UPDATE o DELETE respectivas para cada inserta, actualiza o elimina la
fila de la matriz especificada en el DataSet.(Heredado de DbDataAdapter).
Ø Update(DataSet): Actualiza
los valores de la base de datos mediante la ejecución de las instrucciones
INSERT, UPDATE o DELETE respectivas para cada inserta, actualiza o elimina la
fila de la manera especificada DataSet.(Heredado de DbDataAdapter).
Ø Update(DataSet, String):Actualiza
los valores de la base de datos mediante la ejecución de las instrucciones
INSERT, UPDATE o DELETE respectivas para cada uno de ellos insertarlos,
actualizarlos o fila eliminada de la DataSet con los valores especificados
DataTable nombre.(Heredado de DbDataAdapter).
Ø Update(DataTable): Actualiza
los valores de la base de datos mediante la ejecución de las instrucciones
INSERT, UPDATE o DELETE respectivas para cada inserta, actualiza o elimina la
fila de la manera especificada DataTable.(Heredado de DbDataAdapter).
EJEMPLOS:
En
el ejemplo siguiente se usa el SqlCommand, SqlDataAdapter, y SqlConnection para
seleccionar los registros de una base de datos y rellenar una DataSet con la
filas seleccionadas.El relleno DataSet a
continuación, se devuelve. Para lograr esto, se pasa al método
inicializado DataSet,
una cadena de conexión y una cadena de consulta que es una instrucción SELECT
de Transact-SQL.
Public Function SelectRows( _
ByVal dataSet As DataSet, ByVal connectionString As String, _
ByVal queryString As String) As DataSet
Using connection As New SqlConnection(connectionString)
Dim adapter As New
SqlDataAdapter()
adapter.SelectCommand = New SqlCommand( _
queryString,
connection)
adapter.Fill(dataSet)
Return dataSet
End Using
End Function
·
En el ejemplo de
código siguiente se rellena una lista de clientes a partir de la base de
datos Northwind almacenada
en Microsoft SQL Server, y una lista de pedidos a partir de la base de
datos Northwind almacenada
en Microsoft Access 2000. Las tablas rellenas se relacionan entre sí
mediante DataRelation,
con lo que se puede mostrar una lista de clientes con los pedidos que ha
realizado cada uno. Para obtener más información sobre los objetos DataRelation,
consulte Agregar DataRelations y Navegar por DataRelations.
Dim custAdapter As SqlDataAdapter = New SqlDataAdapter( _
"SELECT * FROM dbo.Customers", customerConnection)
Dim ordAdapter As OleDbDataAdapter = New OleDbDataAdapter( _
"SELECT * FROM Orders", orderConnection)
Dim customerOrders As DataSet = New DataSet()
custAdapter.Fill(customerOrders, "Customers")
ordAdapter.Fill(customerOrders, "Orders")
Dim relation As DataRelation = _
customerOrders.Relations.Add("CustOrders", _
customerOrders.Tables("Customers").Columns("CustomerID"), _
customerOrders.Tables("Orders").Columns("CustomerID"))
Dim pRow, cRow As DataRow
For Each pRow In customerOrders.Tables("Customers").Rows
Console.WriteLine(pRow("CustomerID").ToString())
For Each cRow In pRow.GetChildRows(relation)
Console.WriteLine(vbTab & cRow("OrderID").ToString())
Next
Next
·
En
el ejemplo de código siguiente se crea una instancia de SqlDataAdapter que
utiliza un objeto SqlConnection a
la base de datos Northwind de
Microsoft SQL Server y se rellena un objeto DataTable en
un DataSet con
la lista de clientes. La instrucción SQL y los argumentos SqlConnection
pasados al constructor SqlDataAdapter se
utilizan para crear la propiedad SelectCommand del SqlDataAdapter.
Dim queryString As String = _
"SELECT CustomerID, CompanyName FROM dbo.Customers"
Dim adapter As SqlDataAdapter = New SqlDataAdapter( _
queryString, connection)
Dim customers As DataSet = New DataSet
adapter.Fill(customers, "Customers")
·
En el siguiente ejemplo sirve para buscar
datos de otra tablas o formularios.
Dim Dt As SqlDataAdapter
Dim Tb As New DataTable
Dim Con As SqlConnection
Dim cn As New CONEXION
Con = cn.Conecta
If Me.TXTCOD.Text = "" Then
MsgBox("Debe Ingresar Codigo
del Area", 0, "Buscar Dato")
TXTCOD.Focus()
Exit Sub
End If
Dt = New SqlDataAdapter("SELECT *
FROM AREA Where CodArea='" & Me.TXTCOD.Text
& "
' ",
Con)
Dt.Fill(Tb)
If Tb.Rows.Count() > 0 Then
Me.LBLCOD.Text =
Tb.Rows(0).Item(0)
Me.TXTNOM.Text =
Tb.Rows(0).Item(1)
End If
2.
RESUMEN:
Objeto SqlDataAdapter
DEFINICION:
Representa
un conjunto de comandos de datos y una conexión de base de datos que se
utilizan para rellenar un DataSet y actualizar una base de datos de
SQL Server. Esta clase no se puede heredar. SqlDataAdapter, Se utiliza como un
puente entre DataSet y SQL Server para recuperar y guardar datos.
DbDataAdapter.Fill.
Rellena un objeto DataSet o un objeto DataTable.
DbDataAdapter.Update.
Llama a las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila
insertada, actualizada o eliminada en DataSet.
PROPIEDADES:
Ø AcceptChangesDuringFill:
Obtiene o establece un valor que indica si AcceptChanges se llama en un
DataRow.
Ø AcceptChangesDuringUpdate:
Ø Container: Heredado
de Component.
Ø ContinueUpdateOnError:
Obtiene o establece un valor que especifica si generar una excepción.
Ø DeleteCommand: Obtiene
un procedimiento almacenado para eliminar registros del conjunto de datos.
Ø FillCommandBehavior:
utilizado para rellenar el adaptador de datos.
Ø FillLoadOption:
determina cómo rellena el adaptador el DataTable desde el DbDataReader.
Ø InsertCommand: procedimiento
almacenado para insertar nuevos registros en el origen de datos.
Ø MissingMappingAction:
Determina la acción que se realizará cuando los datos de entrada no tiene una
tabla o columna.
Ø MissingSchemaAction: Determina
la acción que se realizará cuando existente DataSet esquema no coincide con los
datos entrantes. (Heredado de DataAdapter).
Ø ReturnProviderSpecificTypes:
Obtiene o establece si el Fill método debe devolver valores específicos del
proveedor o valores comunes conforme a CLS.
Ø SelectCommand:
Obtiene o establece una instrucción de Transact-SQL o el procedimiento
almacenado utilizado para seleccionar registros del origen de datos.
Ø Site: Obtiene o establece
la ISite de la Component. (Heredado de Component).
Ø TableMappings: Obtiene
una colección que proporciona la asignación principal entre una tabla de
origen.
Ø UpdateBatchSize: Obtiene
o establece el número de filas procesadas.
Ø UpdateCommand: Obtiene
o establece una instrucción de Transact-SQL.
METODOS:
Ø CreateObjRef(Type):
Crea un objeto que contiene toda la información relevante necesaria para
generar a un proxy.
Ø Dispose():
Libera todos los recursos que usa Component.
Ø Equals(Object):
Determina si el objeto especificado es igual al objeto actual.
Ø Fill(DataSet):
Agrega o actualiza filas en el DataSet.
Ø Fill(DataSet, Int32, Int32, String):
Agrega o actualiza filas en un intervalo especificado en el DataSet que
coincidan con las de origen.
Ø Fill(DataSet, String):
Agrega o actualiza filas en el DataSet que coincidan con las de origen de datos
utilizando el DataSet y DataTable.
Ø Fill(DataTable):
Agrega o actualiza filas en un intervalo especificado en el DataSet.
Ø Fill(Int32, Int32, DataTable()):
Agrega o actualiza filas en un DataTable que coincidan con las del origen de
datos.
Ø FillSchema(DataSet, SchemaType):
Agrega una DataTable denominada "Table" para el DataSet.
Ø FillSchema(DataSet, SchemaType, String):
Agrega un elemento DataTable denominado "Table" para el elemento
DataSet especificado.
Ø FillSchema(DataTable, SchemaType):
Configura el esquema del elemento DataTable.
Ø GetFillParameters():
Obtiene los parámetros establecidos por el usuario al ejecutar una instrucción
SELECT de SQL.
Ø GetHashCode():
Sirve como la función hash predeterminada.(Heredado de Object).
Ø GetLifetimeService():
Recupera el objeto de servicio de duración actual.
Ø GetType():
Obtiene el Type de la instancia actual.(Heredado de Object).
Ø InitializeLifetimeService():
Obtiene un objeto de servicio de duración.
Ø ResetFillLoadOption():
Restablece FillLoadOption a su estado predeterminado.
Ø ShouldSerializeAcceptChangesDuringFill() : Determina si el
AcceptChangesDuringFill debe persistir la propiedad.
Ø ShouldSerializeFillLoadOption(): Determina si
el FillLoadOption debe persistir la propiedad.
Ø ToString():
Devuelve un String que contiene el nombre de la Component.
Ø Update(DataRow()):
Actualiza los valores de la base de datos.
Ø Update(DataSet):
Actualiza los valores de la base de datos mediante la ejecución de las
instrucciones INSERT, UPDATE o DELETE respectivas para cada inserta.
Ø Update(DataSet, String):Actualiza
los valores de la base de datos mediante la ejecución de las instrucciones INSERT,
UPDATE o DELETE.
Ø Update(DataTable):
Actualiza los valores de la base de datos.
3. SUMMARY:
SqlDataAdapter Object
DEFINITION:
Represents a set of data commands and a database connection that are used to populate
a DataSet and update a SQL Server database. This class can not be inherited.
SqlDataAdapter, Used as a bridge between DataSet and SQL Server to retrieve and save
data.
DbDataAdapter.Fill. Fills a DataSet object or a DataTable object.
DbDataAdapter.Update.
Calls the respective INSERT, UPDATE, or DELETE statements for each row inserted,
updated, or deleted in DataSet.
PROPERTIES:
· AcceptChangesDuringFill:
Gets or sets a value indicating whether AcceptChanges is called in a DataRow.
· AcceptChangesDuringUpdate:
· Container: Inherited from Component.
· ContinueUpdateOnError:
Gets or sets a value that specifies whether to generate an exception.
· DeleteCommand: Gets a stored procedure to delete records from the dataset.
· FillCommandBehavior: Used to populate the data adapter.
· FillLoadOption:
Determines how the DataTable fills the adapter from the DbDataReader.
· InsertCommand: Stored procedure to insert new records into the data source.
· MissingMappingAction:
Determines the action to be performed when the input data does not have a table
or column.
· MissingSchemaAction:
Determines the action to be performed when the existing DataSet schema does not
match the incoming data. (Inherited from DataAdapter).
· ReturnProviderSpecificTypes:
Gets or sets whether the Fill method should return provider-specific values or
common values conforming to CLS.
· SelectCommand:
Gets or sets a Transact-SQL statement or stored procedure used to select records
from the data source.
· Site: Gets or sets the ISite of the Component. (Inherited from Component).
· TableMappings:
Gets a collection that provides the primary mapping between a source table.
· UpdateBatchSize: Gets or sets the number of rows processed.
· UpdateCommand: Gets or sets a Transact-SQL statement.
METHODS:
· CreateObjRef (Type):
Creates an object that contains all the relevant information needed to generate
a proxy.
· Dispose (): Free all resources that Component uses.
· Equals (Object):
Determines whether the specified object is equal to the current object.
· Fill (DataSet): Adds or updates rows in the DataSet.
· Fill (DataSet, Int32, Int32, String):
Adds or updates rows at a specified interval in the DataSet that match the source.
· Fill (DataSet, String):
Add or update rows in the DataSet that match the data source using the DataSet
and DataTable.
· Fill (DataTable): Adds or updates rows at a specified interval in the DataSet.
· Fill (Int32, Int32, DataTable ()):
Add or update rows in a DataTable that match those in the data source.
· FillSchema (DataSet, SchemaType):
Add a DataTable named "Table" for the DataSet.
· FillSchema (DataSet, SchemaType, String):
Adds a DataTable element named "Table" for the specified DataSet element.
· FillSchema (DataTable, SchemaType): Sets the schema of the DataTable element.
· GetFillParameters ():
Gets the parameters set by the user when executing a SQL SELECT statement.
· GetHashCode (): Serves as the default hash function (inherited from Object).
· GetLifetimeService (): Retrieves the current lifetime service object.
· GetType (): Gets the Type of the current instance. (Inherited from Object).
· InitializeLifetimeService (): Gets a service object of duration.
· ResetFillLoadOption (): Resets FillLoadOption to its default state.
· ShouldSerializeAcceptChangesDuringFill ():
Determines whether the AcceptChangesDuringFill should persist the property.
· ShouldSerializeFillLoadOption ():
Determines whether the FillLoadOption should persist the property.
· ToString (): Returns a String that contains the name of the Component.
· Update (DataRow ()): Updates the values of the database.
· Update (DataSet):
Updates the database values by executing the respective INSERT, UPDATE
or DELETE statements for each insert.
· Update (DataSet, String):
Updates the database values by executing the INSERT, UPDATE or DELETE
statements.
· Update (DataTable): Updates the values of the database.
4.
RECOMENDACIONES:
El SqlDataAdapter se utiliza
junto con SqlConnection y SqlCommand para aumentar el rendimiento al conectarse
a una base de datos de SQL Server.
Una InvalidOperationException
se producirá si el Fill se llama al método y la tabla contiene un tipo definido
por el usuario que no está disponible en el equipo cliente.
Si se va a utilizar
procedimientos almacenados de SQL Server para editar o eliminar datos con
DataAdapter, asegúrese de que no utiliza SET NOCOUNT ON en la definición del
procedimiento almacenado. Esto hace que el recuento de filas afectadas vuelva a
cero, lo que DataAdapter interpreta como un conflicto de simultaneidad.
5.
CONCLUSIONES:
El sqldataadapter, actúa
como puente entre un dataset y SQL Server para recuperar y guardar datos. El
sqldataadapter proporciona este puente mediante la asignación de Fill, que
cambia los datos en el dataset coincidan con los datos del origen de datos, y
Update, que cambia los datos del origen de datos coincidan con los datos en el
dataset, mediante las instrucciones de Transact-SQL adecuadas en el origen de
datos.
La actualización se realiza
por fila. Para cada fila insertada, modificada y eliminada, el Update método
determina el tipo de cambio que se ha realizado en ella (Insert, Update, o
Delete). Según el tipo de cambio, el Insert, Update, o Delete plantilla del
comando se ejecuta para propagar la fila modificada al origen de datos.
Cuando
el sqldataadapter rellena un dataset, crea las tablas y columnas necesarias
para los datos devueltos si todavía no existen. Sin embargo, la información de
clave principal
no se incluye en el esquema
creado implícitamente a menos que el missingschemaaction propiedad está
establecida en addwithkey.
7.
GLOSARIO DE TÉRMINOS:
Ø DataAdapter: Representa
un conjunto de comandos de datos y una conexión de base de datos que se
utilizan para rellenar un DataSet y actualizar una base de datos de SQL Server.
Ø DATASET: es una representación de datos residente en
memoria que proporciona una modelo de programación relacional coherente
independientemente del origen de datos que contiene.
Ø DataTable: representa una tabla de datos relacionales de
la memoria; los datos son locales de la aplicación basada en .NET.
Ø Northwind: es una base de datos utilizada en todo tipo de artículos,
libros y cursos para ilustrar los conceptos básicos de trabajo con bases de
datos Sql Server.
Ø FillSchema: es
un método para recuperar el esquema de origen de
datos mediante el SelectCommand.
Ø Container: es
un contenedor.
8.
LINKOGRAFIA:
https://msdn.microsoft.com/es-es/library/system.data.sqlclient.sqldataadapter(v=vs.110).aspx
https://juanmaritoniadi.wordpress.com/2010/09/28/que-es-sqldataadapter/
https://msdn.microsoft.com/es-es/library/system.data.sqlclient.sqldataadapter_properties(v=vs.110).aspx
https://msdn.microsoft.com/es-es/library/bh8kx08z(v=vs.110).aspx
No hay comentarios:
Publicar un comentario