Opciones de generación SQL avanzadas (Cuadro de diálogo)
Permite controlar el modo en que se crean las instrucciones SQL o los procedimientos almacenados para un adaptador. El cuadro de diálogo aparece cuando hace clic en el botón Opciones avanzadas de la página Instrucciones SQL de uno de los asistentes de datos. Las opciones de este cuadro de diálogo se refieren a las instrucciones o procedimientos que se llaman como parte de un procedimiento de actualización (por ejemplo, CustomersTableAdapter.Update(DataTable)).
Lista de elementos de la interfaz de usuario
Generar instrucciones Insert, Update y Delete
Cuando esta opción esté seleccionada, el asistente creará instrucciones SQL o procedimientos almacenados para los objetos UpdateCommand, InsertCommand y DeleteCommand del adaptador. (Los detalles de la instrucción o el procedimiento que se generen están controlados por el panel del asistente Elija un tipo de consulta). Si no está activada esta casilla, el resto de opciones del cuadro de diálogo estarán deshabilitadas, ya que no se aplicarán.Normalmente, esta casilla no se marca en las circunstancias siguientes:
El adaptador sólo se usará para leer datos de un origen de datos y no para escribirlos en él. Al desactivar esta casilla, se reduce la cantidad de código en el formulario o componente.
Los comandos se rellenarán manualmente una vez que el asistente termine.
Si la casilla está desactivada y no hay instrucciones ni procedimientos almacenados para los objetos UpdateCommand, InsertCommand o DeleteCommand, llamar al método Update del adaptador de datos no hace nada.
Usar simultaneidad optimista
Cuando esta opción está seleccionada, el asistente genera un comando SQL con una cláusula WHERE que hace corresponder el valor de cada columna del registro que se está actualizando con el registro correspondiente de la base de datos.Nota
Esta opción sólo está disponible si la casilla Generar comandos Insert, Update y Delete está seleccionada.
Por ejemplo, la sintaxis de una instrucción de actualización generada con esta opción seleccionada podría ser:
UPDATE Customers SET CustomerID = ?, CompanyName = ?, Phone = ? WHERE (CustomerID = ?) AND (CompanyName = ?) AND (Phone = ? OR ? IS NULL AND Phone IS NULL);
Si esta casilla se deshabilita, la sintaxis sería:
UPDATE Customers SET CustomerID = ?, CompanyName = ?, Phone = ? WHERE (CustomerID = ?)
El efecto de comprobar cada valor de columna es que se produce un error en el comando si alguna de las columnas cambia, lo que sucede si otro usuario modifica el registro después de que se haya leído en el conjunto de datos. Si no se habilita la opción y la cláusula WHERE simplemente localiza el registro, la actualización puede reemplazar los cambios realizados por otros usuarios sin previo aviso.
Para obtener más información sobre la comprobación de simultaneidad cuando se actualiza desde un conjunto de datos, vea Introducción a la simultaneidad de datos en ADO.NET.
Actualizar la tabla de datos
Cuando esta opción se encuentra seleccionada, el asistente genera una instrucción Select para todos los comandos Update e Insert.Nota
Esta opción sólo está disponible si la casilla Generar comandos Insert, Update y Delete está seleccionada.
La instrucción Select se agrega al objeto de comando correspondiente del adaptador y se ejecuta inmediatamente después de que haya finalizado el comando Update o Insert. La instrucción Select se configura para devolver sólo un registro, concretamente la versión actualizada del registro que acaba de actualizarse.
Nota
Se pueden agregar varias instrucciones a la propiedad CommandText de un objeto de comando del adaptador separándolas con un punto y coma (;).
Al obtenerse una nueva versión del registro los valores de columnas actualizados se escriben en el conjunto de datos, incluidas:
Las columnas en las que la base de datos rellena un valor predeterminado.
Las columnas de incremento automático.
Las columnas de marca de tiempo.
Las columnas afectadas por el resultado de un desencadenador de bases de datos.
Debido a que esta opción hace que se ejecuten dos instrucciones para cada actualización, la instrucción Update y una instrucción Select a continuación, su utilización puede resultar poco eficaz si se actualizan la mayoría de los registros de un conjunto de datos. En este caso, es más efectivo rellenar simplemente la tabla de datos completa de una vez después de realizadas todas las actualizaciones.
Nota
Actualizar la tabla de datos sólo se admite en bases de datos compatibles con el procesamiento por lotes de instrucciones SQL. Por ejemplo, Microsoft Access no puede actualizar la tabla de datos en el mismo comando que realiza otras operaciones.
Vea también
Conceptos
Novedades en el desarrollo de aplicaciones de datos
Enlazar controles de Windows Forms a datos en Visual Studio
Enlazar controles a los datos en Visual Studio
Otros recursos
Conectarse a datos en Visual Studio
Preparar la aplicación para recibir datos