1 / 27

Acceso a Datos con C#

13 DE MARZO 2013. Acceso a Datos con C#. INFORMACION PARA LOS ESTUDIANTES. Introducción. En Visual Studio tenemos varias formas de acceso a datos. La forma más sencilla del acceso a datos es usando el ADO .NET.

ronat
Download Presentation

Acceso a Datos con C#

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 13 DE MARZO 2013 Acceso a Datos con C# INFORMACION PARA LOS ESTUDIANTES

  2. Introducción • En Visual Studio tenemos varias formas de acceso a datos. • La forma más sencilla del acceso a datos es usando el ADO .NET. • ADO .NET es un conjunto de clases para que el programador puedan accesar los servicios de datos desde las diferentes bases de datos. • En VS normalmente podremos accesar bases de datos compatibles con OLEDB y SQL Server.

  3. Se pueden accesar bases de datos relacionales, XML, etc, soportando una variedad de necesidades de desarrollo. • Todas las clases de acceso a datos se encuentran en la librería System.Data • Básicamente hablando, ADO .NET provee de una serie de clases que soportan el desarrollo de aplicaciones, permitiendo conectarse a fuentes de datos (Data Source) para recuperar, manipular, y actualizar datos en una base de datos Microsoft Confidential

  4. Las clases de acceso a datos se pueden dividir en tres componentes superiores que son: • Data Provider(Proveedor de datos) • DataSet (Conjunto de datos) • DataTable (Tabla de Datos) • Los tres componentes principales están localizados en diferentes espacios de nombres. Microsoft Confidential

  5. Las clases DataSet y el DataTable están localizadas en el espacio de nombre System.Data • Las clases Data Provider están localizadas en diferentes espacios de nombres basado en el proveedor de los datos. • Data Provider contiene cuatro clases: Connection, Command, DataAdapter y DataReader. • Los proveedores por defecto son OLEDB y SQLClient. Microsoft Confidential

  6. Esas clases pueden usarse para hacer las operaciones siguientes: • Establecer una conexión entre la aplicación y la fuente de datos usando el objeto Connection. • Ejecutar consultas de datos para recuperar, manipular y actualizar datos usando el objeto Command. • Mover datos entre su DataSet y la base de datos usando el objeto DataAdapter • Ejecutar instrucciones DML desde y hacia la base de datos usando el objeto DataReader (Select, Insert, Update, Delete) Microsoft Confidential

  7. Arquitectura del ADO.NET (1) Microsoft Confidential

  8. Arquitectura del ADO.NET (2) Microsoft Confidential

  9. Proveedores de datos ADO.NET • ODBC (Open DataBaseConnectivity) • OLEDB (ObjectLinking and EmbedingDatabase) • SQL Server Data Provider • Oracle Data Provider (normalmente actualizado desde su Web) Microsoft Confidential

  10. Esto no implica que no se pueda acceder a otras bases de datos. MySQL, PostGreSQL, Informix, Advantage, etc tiene en sus sitios web proveedores que se pueden descargar e instalar y estarán disponibles para .NET Microsoft Confidential

  11. Los espacios de nombre a utilizar al inicio de cada archivo .cso .vb que utilice el acceso a datos son los siguientes • System.Data (Requerido) • System.Data.OleDB • System.Data.SqlClient • System.Data.Odbc • System.Data.OracleClient Microsoft Confidential

  12. En el caso de C# se debe colocar al inicio las instrucciones using que permiten referencial el uso de la librería. Por ejemplo para accesar datos de SQL Server se usaríausingSystem.Data;usingSystem.Data.SqlClient Microsoft Confidential

  13. Objeto Connection • El objeto Connection establece el vínculo entre la aplicación y la fuente de datos. • Pueden existir más de un objeto Connection del mismo o diferentes proveedores de datos en la misma aplicación • Debemos conocer cuál es la cadena de conexión apropiada para el proveedor de datos (ConnectionString) • El sitio www.connectionstrings.com puede ayudar a encontrar la cadena de conexión respectiva a cada proveedor. Microsoft Confidential

  14. Como usar el objeto Connection • Declarar una variable del tipo Connection • Asignar su valor SqlConnectioncn; cn = new SqlConnection(CadenaDeConexión); Ó SqlConnectioncn =new SqlConnection(CadenaDeConexión); • Establecer esta declaración en el sitio apropiado para que funcione ya sea para todo un formulario o todo el proyecto. Microsoft Confidential

  15. El objeto Connection tiene varias propiedades y métodos • El método Open() abre la conexiónEj: cn.Open(); • El método Close() cierra la conexiónEj: cn.Close(); • El método Dispose() elimina el objetoEj:cn.Dispose(); • Normalmente debe abrir y cerrar el objeto connection cuando usa los objetos DataReader Microsoft Confidential

  16. Conexión al Sql Server • La cadena de conexión tiene tres a cuatro parámetros fundamentales. • DATA SOURCE = Nombre del servidor • INITIAL CATALOG = Nombre de la base de datos. Dependiendo del tipo de seguridad del SQL Server Autenticación de Windows • INTEGRATED SECURITY=True Autenticación de SQL Server- USER ID = Login del Usuario - PASSWORD = Clave de Acceso Microsoft Confidential

  17. El mismo Servidor de SQL Server nos da la información del nombre del Servidor. • Si usamos la versión Express o una instancia del Servidor normalmente aparecería en la forma Instancia\Servidor Servidor Bases de Datos Microsoft Confidential

  18. Objeto Command • El objeto Command se usa para definir y ejecutar comandos hacia la base de datos, tales como un consulta de datos (Select) o una acción (Insert, Delete, Update), o ejecutar un procedimiento almacenado. • Hay cuatro propiedades principales de un objeto Command • Connection • CommandType • CommandText • Parameters Microsoft Confidential

  19. Usando la forma tradicional // Crear el objeto Connection SqlConnectioncn = new SqlConnection(“Data Source=C3NFGP1;Initial Catalog=Nomina;IntegratedSecutiry=true”);// Crear el objeto comando para definir que se hará y donde. SqlCommandcmd = new SqlCommand(“SELECT * FROM Empleados”,cn) Microsoft Confidential

  20. Usando un Procedimiento Almacenado // Crear el objeto Connection SqlConnectioncn = new SqlConnection(“Data Source=C3NFGP1;Initial Catalog=Nomina;IntegratedSecutiry=true”);// Crear el objeto comando para definir que se hará y donde. SqlCommandcmd = new SqlCommand();cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = “sp_ObtenerEmpleados”; // Definir los parámetros del procedimiento o consultacmd.Parameters.AddWithValue(“@EmpleadoID”, 23); Microsoft Confidential

  21. Otras clases del Command ExecuteReader()Ejecuta un comando que retorna filas tales como un Select. Las filas retornadas deben ser almacenadas en un DataReader.Ej: SELECT * FROM Clientes ExecuteScalar()Retorna un simple valor desde la base de datosEj: SELECT Max(FacturaNumero) FROM Facturas ExecuteNonQuery()Ejecuta sentencias SQL que no retornan datos como INSERT, DELETE y UPDATE y SET Microsoft Confidential

  22. // Crear el objeto Connection SqlConnectioncn = new SqlConnection(“Data Source=C3NFGP1;Initial Catalog=Nomina;IntegratedSecutiry=true”);// Crear el objeto comando para definir que se hará y donde. SqlCommandcmd = new SqlCommand(“SELECT * FROM Empleados”,cn) // Abrir la conexión Cn.Open(); // Almacenar los resultados en un DataReaderSqlDataReaderdr = cmd.ExecuteReader(); // Cerrar la Conexióncn.Close(); Microsoft Confidential

  23. Objeto DataReader • Permite almacenar el resultado de un comando • Es solo de lectura y hacia adelante • Solo puede haber abierto un DataReader a la vez • El método Read() del objeto DataReader devuelve como resultado el valor true o false dependiendo si lee o no el registro, además que pone en línea el registro a leer. • Cuando se usa el Read() la primera vez se lee el primer registro del conjunto de resultados. • El método Close() cierra el DataReader. Siempre cierre el objeto después de haberlo usado para evitar errores en la ejecución. Microsoft Confidential

  24. Recuerde siempre abrir la conexión antes de ejecutar cualquier método ExcecuteReader, ExecuteNonQuery, ExecuteScalar. Microsoft Confidential

  25. Ejemplo de Uso (Mantenimiento de Datos) Microsoft Confidential

  26. Uso del DataAdapter • DataAdapter actúa como puente entre DataSet y un origen de datos para la recuperación y el almacenamiento de datos. • Para poder actuar como un puente, DataAdapter asigna el método Fill, que modifica los datos de DataSet de forma que coincidan con los del origen de datos, y asigna el método Update, que modifica los datos del origen de datos para hacerlos coincidir con los de DataSet. • Si se conecta a una base de datos de SQL Server, puede mejorar el rendimiento general utilizando SqlDataAdapter junto con sus objetos asociados SqlCommand y SqlConnection. Microsoft Confidential

  27. Métodos del DataAdapter • SqlDataAdapter da = new SqlDataAdapter(sql, conexión); • Adaptador.Fill(DataSet | DataTable)Almacena los datos obtenidos en un DataSet o en un DataTable Microsoft Confidential

More Related