Chapter 2: Kim’s causal exclusion argument against non-reductivism
2.4 Exclusion and no overdetermination
2.4.5 Genuine inter-level overdetermination and physicalism
La mayoría de las aplicaciones escritas en Visual Basic y Visual C# giran en torno a la lectura y actualización de información de bases de datos. Para permitir la integración de datos en aplicaciones distribuidas y escalables, Visual Studio .NET es compatible con una nueva generación de tecnología de acceso a datos: ADO.NET.
El modo de comunicación entre nuestra aplicación y la base de datos implica que ambos manejen un lenguaje de programación común; entonces para resolver este problema de comunicación es que se usa el SQL (Structured Query Languaje) o lenguaje estructurado de consultas.
Para ejecutar las instrucciones SQL a la base de datos se realiza mediante los OBJETOS ADO.NET, las cuales proporcionan acceso coherente a orígenes de datos como Microsoft SQL Server, así como a orígenes de datos expuestos mediante OLE DB y XML.
Entre los objetos que permiten realizar este proceso tenemos:
• Objetos Command, uso de sentencias SQL.
• TableAdapter.
• LINQ to SQL.
1.1 MODIFICACION DE DATOS UTILIZANDO COMMAND
El objeto Command permite ejecutar sentencias SQL o procedimientos almacenados sobre una base de datos. Las instrucciones SQL que modifican datos (por ejemplo INSERT, UPDATE o DELETE) no devuelven ninguna fila. De la misma forma, muchos procedimientos almacenados realizan alguna acción pero no devuelven filas. Para ejecutar comandos de actualización, creamos un objeto Command con el comando SQL adecuado y una Connection, incluidos los Parameters necesarios. El objeto Command se debe ejecutar con el método ExecuteNonQuery.
El método ExecuteNonQuery devuelve un entero que representa el número de filas que se ven afectadas por la instrucción o por el procedimiento almacenado que se haya ejecutado. Si se ejecutan varias instrucciones, el valor devuelto es la suma de los registros afectados por todas las instrucciones ejecutadas.
En el ejemplo siguiente se ejecuta una instrucción INSERT para aplicar un registro en una base de datos mediante el método ExecuteNonQuery.
connection.Open()
Dim sql AsString = "INSERT Customers(CustomerID,CompanyName) " & _
" Values('NWIND', 'Northwind Traders')"
Dim command AsNew SqlCommand(queryString, connection) Dim registros As Int32 = command.ExecuteNonQuery()
Para ejecutar un procedimiento almacenado utilizando el objeto Command, debe indicar el nombre del procedimiento a través de la propiedad
CommandText, y además indicar que el objeto a ejecutar es un
procedimiento almacenado a través de la propiedad CommandType. Agregue sus parámetros del procedimiento a través de la colección
Parameters. Para ejecutar el procedure utilice el método ExecuteNonQuery
devuelve un entero que representa el número de filas que se ven afectadas por el procedimiento almacenado que se haya ejecutado.
En el ejemplo de código siguiente se ejecuta el procedimiento almacenado para insertar un registro a la tabla tb_paises, que reciba dos parámetros de entrada.
1.2 MODIFICACION DE DATOS UTILIZANDO TABLEADAPTER
Los TableAdapters definen métodos que se ejecutar directamente contra la base de datos. A estos métodos (TableAdapter.Insert, TableAdapter.Update y TableAdapter.Delete) se les puede llamar de forma directa para manipular los datos de la base de datos.
Si no desea crear estos métodos directos, establezca la propiedad GenerateDbDirectMethods de TableAdapter en false en la ventana
Propiedades. Cualquier consulta agregada a TableAdapter, además de la
consulta principal, es una consulta independiente, no genera estos métodos DbDirect.
a) Para insertar nuevos registros directamente en una base de datos
Llame al método Insert del TableAdapter, pasando los valores de cada columna como parámetros.
b) Para actualizar registros directamente en una base de datos
Llame al método Update del TableAdapter, pasando los valores nuevos y originales de cada columna como parámetros.
c) Para eliminar registros directamente de una base de datos
Llame al método Delete del TableAdapter, pasando los valores de cada columna como parámetros de Delete.
1.2.1 MODO DE GUARDAR UN DATASET TIPEADO UTILIZANDO UN TABLEADAPTER
Después que la Data en el DataSet ha sido modificada y validada, probablemente quiere enviarla para actualizar la data a la base de datos. Para modificar la data de la base de datos llame al método
Update del TableAdapter o DataAdapter. El método Update del DataAdapter, actualizará una tabla y ejecuta los comandos INSERT,
UPDATE y DELETE basado en el estado de la fila RowState. Dim command AsNew SqlCommand("InsertPais" , connection) command.CommandType = CommandType.StoredProcedure command.Parameters.Add("@id", SqlDbType.Int).Value=12
command.Parameters.Add("@Name", SqlDbType.Char, 15).Value="Iran”
62 62 62 62
Al actualizar un origen de datos (Data Source) dentro de un DataSet, puede contener errores, se debería colocar el código que ejecuta el método Update dentro del bloque Try … Catch.
1.2.2 MODO DE GUARDAR DOS TABLAS RELACIONADAS EN UN DATASET UTILIZANDO UN TABLEADAPTER
Cuando actualiza tablas en un DataSet., es importante actualizar los datos según la prioridad para reducir los cambios de una violación del constraint de integridad referencial. Para prevenir los errores de la integridad de datos, la mejor práctica es actualizar la Base de Datos en la siguiente secuencia:
1. Tabla Hija: Eliminar registros
2. Tabla Padre: Insertar, Actualizar y Eliminar registros. 3. Tabla Hija: Insertar y Actualizar registros.
Debería incluir todas las actualizaciones lógicas dentro de una transacción.
1.2.3 VISUALIZACIÓN DE DATOS EN DATA GRID DEL FORM
Puede visualizar datos en un DataGridView si arrastra los elementos de la Ventana de origen de datos a su formulario. Antes de arrastrar desde la ventana orígenes de datos, establezca el tipo de control de la tabla en DataGridView. Una alternativa de mostrar los datos en una cuadrícula es mostrar los datos en controles individuales.
Para visualizar datos en un DatagridView del Windows Form
1. Abra la Ventana Data Source: 2. Opción de menú Data.
3. Seleccione la tabla en el Data Source. 4. Arrastre la Tabla del Data Source al
formulario. Se visualizará:
a. Un control DataGridView.
b. Un BindingNavigator, navegar por los registros.
c. Un DataSet, un TableAdapter, BindingSource y BindingNavigator. Try Tablacli.Update(Facturacion.Clientes) Catch ex As Exception Messagebox.Show(“No se Actualizó”) End Try