ADO_NET

ADO.NET Interview: Las preguntas más comunes en una entrevista

1. ¿Qué es ADO.NET?

ADO.NET es una tecnología de acceso a datos desarrollada por Microsoft que permite a los desarrolladores interactuar con bases de datos relacionales. Proporciona un conjunto de clases y componentes que permiten la conexión, manipulación y recuperación de datos de una base de datos.

2. ¿Cuál es la diferencia entre ADO.NET y ADO clásico?

La principal diferencia entre ADO.NET y ADO clásico radica en su arquitectura. ADO.NET utiliza un modelo de programación desconectado, lo que significa que los datos se recuperan de la base de datos y se almacenan en objetos en memoria, como DataSets y DataReaders. Por otro lado, ADO clásico utiliza un modelo de programación conectado, donde la conexión a la base de datos se mantiene abierta durante toda la operación.

3. ¿Cuáles son los componentes principales de ADO.NET?

Los componentes principales de ADO.NET son:

  • Connection: representa una conexión a una base de datos.
  • Command: se utiliza para ejecutar comandos SQL en una base de datos.
  • DataReader: se utiliza para leer datos de una base de datos de forma eficiente.
  • DataAdapter: se utiliza para llenar y actualizar un DataSet con datos de una base de datos.
  • DataSet: representa una colección de datos que se pueden manipular y almacenar en memoria.
Recomendado:  C# Tutorial (100+): Encuentra tutoriales de C# con más de 100 lecciones

4. ¿Qué es un DataReader y cómo se utiliza?

Un DataReader es un objeto de solo lectura que permite recuperar datos de una base de datos de forma eficiente. Se utiliza para ejecutar una consulta SQL y leer los resultados fila por fila. A diferencia de un DataSet, un DataReader no almacena los datos en memoria, lo que lo hace más eficiente en términos de uso de recursos.

5. ¿Cuál es la diferencia entre un DataSet y un DataReader?

La diferencia principal entre un DataSet y un DataReader es cómo almacenan y manipulan los datos. Un DataSet es una colección de datos que se almacena en memoria y se puede manipular utilizando tablas y relaciones. Por otro lado, un DataReader es un objeto de solo lectura que recupera los datos de la base de datos a medida que se leen, sin almacenarlos en memoria.

6. ¿Qué es un Connection Pooling y cómo funciona en ADO.NET?

El Connection Pooling es una técnica utilizada por ADO.NET para mejorar el rendimiento y la eficiencia en la conexión a una base de datos. En lugar de abrir y cerrar una conexión cada vez que se necesita acceder a la base de datos, el Connection Pooling mantiene un grupo de conexiones abiertas y las reutiliza.

Cuando se solicita una conexión, ADO.NET busca en el grupo de conexiones abiertas una que esté disponible y la asigna al solicitante. Una vez que se ha utilizado la conexión, en lugar de cerrarla, se devuelve al grupo de conexiones abiertas para que pueda ser reutilizada por otros solicitantes. Esto reduce el tiempo de conexión y mejora el rendimiento general del sistema.

Recomendado:  ADO.NET DataSet: qué es y cómo se utiliza

7. ¿Cuál es la diferencia entre ExecuteNonQuery, ExecuteScalar y ExecuteReader?

Estos son métodos utilizados para ejecutar comandos SQL en ADO.NET:

  • ExecuteNonQuery: se utiliza para ejecutar comandos SQL que no devuelven ningún resultado, como INSERT, UPDATE o DELETE. Devuelve el número de filas afectadas por el comando.
  • ExecuteScalar: se utiliza para ejecutar comandos SQL que devuelven un solo valor, como una función de agregación. Devuelve el valor de la primera columna de la primera fila del resultado.
  • ExecuteReader: se utiliza para ejecutar comandos SQL que devuelven un conjunto de resultados, como una consulta SELECT. Devuelve un DataReader que se puede utilizar para leer los resultados fila por fila.

8. ¿Qué es un TransactionScope y cómo se utiliza en ADO.NET?

Un TransactionScope es una clase que permite realizar operaciones en una base de datos de forma atómica, es decir, todas las operaciones se realizan como una sola unidad o ninguna de ellas se realiza. Esto garantiza la integridad de los datos y evita situaciones en las que solo algunas operaciones se completan y otras no.

Para utilizar un TransactionScope en ADO.NET, se crea una instancia de la clase TransactionScope y se envuelven las operaciones dentro de un bloque. Si todas las operaciones se completan correctamente, se llama al método Complete() del TransactionScope para confirmar la transacción. Si ocurre algún error o excepción, la transacción se revierte automáticamente sin necesidad de llamar al método Complete().

9. ¿Cuál es la diferencia entre un DataAdapter y un DataReader?

La diferencia principal entre un DataAdapter y un DataReader es cómo se utilizan para acceder a los datos de una base de datos. Un DataAdapter se utiliza para llenar y actualizar un DataSet con datos de una base de datos. Proporciona métodos para recuperar datos de la base de datos y llenar el DataSet, así como para enviar los cambios realizados en el DataSet de vuelta a la base de datos.

Recomendado:  ADO vs ADO.NET: Diferencias entre ambas tecnologías

Por otro lado, un DataReader se utiliza para leer datos de una base de datos de forma eficiente. Proporciona un acceso de solo lectura a los datos y es útil cuando solo se necesita leer los datos una vez y no se requiere almacenarlos en memoria.

10. ¿Qué es LINQ to SQL y cómo se utiliza en ADO.NET?

LINQ to SQL es una tecnología de ADO.NET que permite a los desarrolladores utilizar consultas LINQ (Language Integrated Query) para acceder y manipular datos en una base de datos relacional. Proporciona una forma más intuitiva y legible de escribir consultas en comparación con el SQL tradicional.

Para utilizar LINQ to SQL, se crea un modelo de datos que mapea las tablas de la base de datos a clases en el código. Luego, se pueden realizar consultas utilizando la sintaxis de consultas de LINQ, que se traducen automáticamente a consultas SQL y se ejecutan en la base de datos.

ADO.NET es una tecnología de acceso a datos que permite a los desarrolladores interactuar con bases de datos relacionales. En una entrevista de ADO.NET, es común que se hagan preguntas sobre los conceptos básicos de ADO.NET, como la diferencia entre ADO.NET y ADO clásico, los componentes principales de ADO.NET y cómo se utilizan, la diferencia entre un DataSet y un DataReader, el Connection Pooling, los diferentes métodos de ejecución de comandos SQL, el uso de TransactionScope, la diferencia entre un DataAdapter y un DataReader, y el uso de LINQ to SQL.

Autor

osceda@hotmail.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *