bases de-datos_sql_server_con_c_
Upcoming SlideShare
Loading in...5
×
 

bases de-datos_sql_server_con_c_

on

  • 782 views

Conexion a las BD y C

Conexion a las BD y C

Statistics

Views

Total Views
782
Slideshare-icon Views on SlideShare
782
Embed Views
0

Actions

Likes
0
Downloads
103
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    bases de-datos_sql_server_con_c_ bases de-datos_sql_server_con_c_ Document Transcript

    • Manual Programación C#.NET Visual Studio 2010 2012 TODOS LOS LOGOS E IMÁGENES EMPLEADOS EN ESTE MANUAL, SE HAN UTILIZADO SOLAMENTE CON EL PROPÓSITO EDUCATIVO, ES DECIR, ILUSTRAR A LOS ESTUDIANTES EN EL PROCESO ENSEÑANZA – APRENDIZAJE. PERTENECEN A SUS RESPECTIVAS EMPRESAS Y COMPAÑÍAS LOS DERECHOS DE AUTORES (COPYRIGHT,) SON PROPIOS DE SU EMPRESAS. 1
    • Manual Programación C#.NET Visual Studio 2010 2012 CAPÍTULO III. INTRODUCCIÓN A BASE DE DATOS Y ADO.NET 3.1 Medios de conexión a base de datos desde C#.net 3.2 Funcionamiento de los enlaces de datos 3.3 Modelo de objetos con ADO.NET 3.4 Programación con ADO. NET 3.5 Datagridview y DataTable 3.6 Uso de un Dataset para leer y escribir XML 2
    • Manual Programación C#.NET Visual Studio 2010 2012 CAPÍTULO III. INTRODUCCIÓN A BASE DE DATOS Y ADO.NET 3.0. Introducción a las bases de Datos Relacionales con SQL Sever 2008. Microsoft Sync Framework es una completa plataforma de sincronización que habilita la colaboración y el acceso sin conexión para las aplicaciones, servicios y dispositivos. Ofrece tecnologías y herramientas que habilitan la movilidad, el uso compartido y la capacidad necesaria para poner los datos fuera de conexión. Mediante Sync Framework, los programadores pueden generar ecosistemas de sincronización que integran cualquier aplicación con cualquier dato de cualquier almacén que use un protocolo a través de una red. Sync Framework está formado por las siguientes tecnologías, las tres primeras se pueden instalar con SQL Server 2008: Sync Services for ADO.NET se puede utilizar para sincronizar bases de datos en escenarios sin conexión y de colaboración. Sync Services for ADO.NET puede utilizar los componentes básicos de Sync Framework con el fin de sincronizar las bases de datos y también se pueden utilizar para crear proveedores de sincronización para otros tipos de almacenes de datos. Sync Services para FeedSync se puede utilizar para sincronizar fuentes RSS y Atom con los datos de un almacén local. Sync Services for File Systems se puede utilizar para sincronizar los archivos y carpetas en un sistema de archivos. Metadata Storage Service se puede utilizar para almacenar los metadatos de sincronización en SQL Server Compact 3.5. El resto de este tema proporciona información general de Sync Services for ADO.NET e incluye una comparación con otras tecnologías de Microsoft. 3
    • Manual Programación C#.NET Visual Studio 2010 2012 Aplicaciones conectadas ocasionalmente Una alternativa a la solución que se ha descrito en la sección anterior es implementar una aplicación conectada ocasionalmente. Una aplicación que se conecta de vez en cuando permite a un trabajador remoto continuar teniendo acceso a los datos. Sin embargo, a diferencia del escenario anterior en el que el usuario debía tener acceso directamente a la base de datos corporativa para obtener la información que deseaba, esta se almacena de forma local en un dispositivo. Para rellenar una base de datos local, una aplicación conectada ocasionalmente suele usar la sincronización de datos. La sincronización de datos consiste en la capacidad de tomar periódicamente la información que está almacenada en una base de datos cliente (como SQL Server Compact 3.5) y sincronizar los cambios con una base de datos servidor (como SQL Server). Una solución basada en la sincronización proporciona la ventaja de que un usuario ya no tiene que disponer de una conexión de red constante para obtener acceso a la información. Dado que los datos están almacenados localmente, un usuario tiene acceso constante a los mismos mientras el procesamiento se descarga de la base de datos central. Además, dado que la velocidad de la red ya no es un factor limitador, ahora un usuario puede obtener acceso a los datos a la velocidad del dispositivo. Synchonization Services for ADO.NET Sync Services for ADO.NET habilita la sincronización entre las bases de datos. Proporciona una API intuitiva y flexible que le permite generar aplicaciones destinadas a escenarios sin conexión y de colaboración. Sync Services for ADO.NET habilita la sincronización entre dos elementos del mismo nivel, por ejemplo entre bases de datos de SQL Server o entre una base de datos cliente de SQL Server Compact 3.5 y cualquier base de datos servidor para las que se disponga de un proveedor ADO.NET. La API le permite utilizar todos los componentes que se proporcionan o sólo algunos, dependiendo de la arquitectura y los requisitos de una aplicación. Las ilustraciones siguientes muestran ejemplos de aplicaciones que están conectadas ocasionalmente en las que los datos (representados por una base de datos verde) se conservan de forma local en el dispositivo de un trabajador remoto. El primer ejemplo muestra un sistema de base de datos independiente en el que la información se almacena directamente en el dispositivo del usuario. El segundo ejemplo muestra una oficina remota en la que la información se almacena en una base de datos de grupo de trabajo dentro de esta oficina remota, para que varios trabajadores locales puedan tener acceso a los datos. 4
    • Manual Programación C#.NET Visual Studio 2010 2012 Una extensión común de este tipo de aplicación conectada ocasionalmente es la capacidad de admitir escenarios de colaboración. Se trata de escenarios en los que dos bases de datos se pueden sincronizar punto a punto sin tener que pasar por un concentrador central. Como se muestra en la ilustración siguiente, una base de datos remota puede intercambiar información con cualquier otra. Este tipo de solución es útil cuando trabajadores remotos (por ejemplo, auditores financieros in situ) trabajan en grupo en una ubicación remota. Estos trabajadores deben compartir a menudo información entre sí. Sin embargo, dado que no tienen conectividad con la base de datos central, deben compartir la información a través de algún tipo de red punto a punto Usar Synchonization Services for ADO.NET con SQL Server Sync Services for ADO.NET admite bases de datos de las maneras siguientes: En escenarios sin conexión, la base de datos cliente debe ser de la versión 3.5 de SQL Server Compact 3.5 o posteriores. El servidor puede ser cualquier base de datos para la que se disponga de un proveedor ADO.NET. En escenarios de colaboración, cada base de datos del mismo nivel debe ser de SQL Server 2000 Service Pack 4 o una versión posterior. SQL Server es una base de datos de clase empresarial que proporciona un base sólida para las aplicaciones que requieren sincronización. SQL Server 2008 proporciona el seguimiento de cambios, una de las características más útiles para los programadores de sincronización. Sync Services for ADO.NET ofrece una API para sincronizar los cambios pero, en realidad, no realiza el seguimiento de los cambios en el servidor ni en la base de datos del mismo nivel. ((SQL Server Compact 3.5 realiza el seguimiento de los cambios en la base de datos cliente). Puede crear un sistema de seguimiento de cambios personalizado, pero esto suele introducir una complejidad significativa y sobrecarga en el rendimiento. Recomendamos usar el seguimiento de cambios de SQL Server 2008, porque resulta fácil de configurar y su rendimiento es elevado Comparar Synchonization Services for ADO.NET con otras tecnologías Microsoft proporciona varias tecnologías que están diseñadas para las aplicaciones que realizan la sincronización. Por consiguiente, comparar Sync Services for ADO.NET con otras tecnologías que se utilizan en escenarios sin conexión y de colaboración resulta de utilidad. 5
    • Manual Programación C#.NET Visual Studio 2010 2012 Sincronización sin conexión Las tecnologías más importantes de Microsoft para la sincronización sin conexión son las siguientes: Acceso a datos remotos (RDA). Se utiliza para sincronizar una base de datos de SQL Server Compact 3.5 con una base de datos de otra edición de SQL Server. Replicación de mezcla. Se utiliza para sincronizar ediciones diferentes de SQL Server, incluido SQL Server Compact 3.5. Sincronización de colaboración La tecnología más significativa para realizar la comparación en lo que se refiere a la sincronización de colaboración es la replicación transaccional punto a punto, que se utiliza para sincronizar dos o más bases de datos de SQL Server Enterprise. Tanto Sync Services for ADO.NET como la replicación transaccional admiten la sincronización punto a punto: la replicación transaccional es más adecuada para mantener una alta disponibilidad y escalar la actividad de lectura a través de varios servidores, mientras que Sync Services for ADO.NET es más conveniente para las aplicaciones en las que los usuarios trabajan en colaboración con los mismos datos. La tabla siguiente puede ayudarle a determinar qué tecnología es apropiada para las aplicaciones que desea generar. Determinar el tipo de tecnología que se debe utilizar Sync Services for ADO.NET proporciona la flexibilidad de un modelo de programación, como son los conjuntos de datos sin conexión, y un conjunto de características de sincronización más variadas, como las que se encuentran en la replicación. La funcionalidad de Sync Services for ADO.NET es superior a RDA. La replicación está destinada a los administradores de bases de datos y se ha diseñado principalmente para sincronizar las bases de datos de SQL Server. La replicación proporciona una funcionalidad significativa cuya configuración se puede realizar a través de asistentes, procedimientos almacenados y su propia API. Sync Services for ADO.NET está destinada a los programadores y admite bases de datos heterogéneas y la sincronización a través de servicios, como Windows Communication Foundation (WCF). 6
    • Manual Programación C#.NET Visual Studio 2010 2012 Pasos para crear una base de datos 1. Hacer un clic derecho encima de la opción DataBases de Bases de Datos. 2. Seleccionar del menú emergente la opción New DataBases y hacer clic 3. Digitar el nombre de la base de datos, claro si no desea modificar algunos parámetros, eje: RIDO. Pasos en Gráficos. 1. Seleccionar Database y luego New Database, para una nueva base de datos. Clic aquí para crear una nueva base de datos. 2. Digitar el nombre de la base de datos y dejar los parámetros por defecto. Eje: RIDO 7
    • Manual Programación C#.NET Visual Studio 2010 2012 Introducir aquí el nombre de la base de datos, Eje: RIDO Pantalla ejecutado al creación de la nueva base de datos Ejecutando….. 8
    • Manual Programación C#.NET Visual Studio 2010 2012 Base de datos “RIDO” ya creada. Base de Datos Creada. RIDO Trabajando con Tablas. Pasos para crear una tabla. Nota: Las tablas tienen propiedades que las diferencias de las vistas o consultas, aunque podemos manejar la filosofía de una tabla como una vista. El uso de las tablas es genérico, es decir, tiene la misma filosofía que en cualquier lenguaje de Administración de Bases de Datos con u otro gestor de bases de datos Pasos para crear una tabla: 1. Hacer clic en la Opción Table de la parte derecha de la ventana del Enterprise Manager 2. Seleccionar New Table, para una nueva tabla. 3. Digitar el Nombre de la tabla, eje: ESTUDIANTES 4. Presionar Enter o hacer clic 9
    • Manual Programación C#.NET Visual Studio 2010 2012 Digitar la estructura de la tabla, como se ve en la siguiente figura Estructura de la Tabla: MATRICULA NOMBRE APELLIDO DIRECCION TELEFONO char char char char char 20 40 40 60 13 Pantalla para crear la tabla Clic Primero en Table y luego en New Table Nota: Una tabla es como si estuviésemos trabajando en uan hoja de cálculo de Excel, es decir, tendrá un conjunto de filas y columnas, en donde las columnas representarán cada campo y las filas los registros de la misma. 10
    • Manual Programación C#.NET Visual Studio 2010 2012 Pantalla para crear la estructura de la tabla. Proceder a digitar la estructura de la tabla, como se visualizó en la siguiente figura. Clic en este icono para guardar la configuración y colocarle el nombre de estudiantes 11
    • Manual Programación C#.NET Visual Studio 2010 2012 Por último, grabar la estructura de la tabla y asignarle el nombre de ESTUDIANTES, un ejemplo, usted podrá asignarle el nombre que desee. Listo. A continuación imágenes de que la tabla fue creada. Tabla Estudiantes 12
    • Manual Programación C#.NET Visual Studio 2010 2012 Introducción Datos en la Tabla Creada. Pasos para introducir datos en la nueva tabla 1. Hacer clic derecho encima del nombre de la tabla de ESTUDIANTES en la parte derecha de la ventana del Enterprise manager. 2. Seleccionar Open Table (abrir tabla) 3. Introducir los Datos Introducir los datos en estas filas 13
    • Manual Programación C#.NET Visual Studio 2010 2012 Tabal con los datos introducidos. Tabla ya Procesada. 12-0001 12-0002 12-0003 12-0004 12-0005 12-0006 12-0007 12-0008 LUIS MANUEL BETZABEL LUIS EMIL SAMUEL ELIAN CAMIL CRISMER GEORGE LUIS BETSI CRUZ CRUZ EMIL CRUZ MATEO ALBURQUERQUE CRUZ CRUZ CRUZ 809-221-3222 809-564-4141 809-564-8989 809-221-4747 809-731-3222 809-456-7878 809-123-1515 809-1515 3.1 Medios de conexión a base de datos desde C#.net Existen diferentes Espacios de Nombres y objetos para trabajar con las bases de Datos desde C#.Net y ellos son los siguientes: System.Data, para trabajar con las bases de datos System.Data.OleDb y System.Data.SqlClient, Contienen clases para acceder al origen de datos SqlConecction, representa una conexión a un origen de datos SqlCommand, representa un comando que se le puede dar a través de SQL Server La Clase DataTable, representa una tabla en la base de datos DataRow es una colección de objetos que contienen las filas de una tabla específica Las conexiones que utilizan los objetos ADO.NET son sin conexión, a diferencia de los demás que son permanentes, esto se logra a través de un DataSet que consta de un 14
    • Manual Programación C#.NET Visual Studio 2010 2012 conjunto de objetos DataTabley de las relaciones entre ellos que se representa en una cache. Una ventaja del DataSet es que trabaja sin conexión a la base de datos, en vez de concertarse persistentemente, se conecta al origen de datos y trata de poblar el Objeto data Set. 3.2 Funcionamiento de los enlaces de datos La técnica a través del cual se conectan los controles del GUI del C#.NET con los orígenes de datos se conoce como enlace de datos. El IDE permite que los controles tales como DataGridView se enlacen a un origen de datos como un objeto DataSet, que representa a una tabla en con origen e datos. De igual forma se pueden conectar otros controles con los orígenes del DataSet 3.3 Modelo de objetos con ADO.NET El modelo de objetos ADO.NET proporciona un API para acceder a los sistemas de bases de datos mediante la programación desde C#.NET. ADO.Net se creo para que el Framework .Net sustituya a la tecnología ActiveX Data Objetos (ADO) de Microsoft. El IDE cuenta con herramientas de programación que simplifican el proceso de utiliza una base de datos en sus proyectos. 3.4 Programación con ADO. NET En este apartado mostraremos como conectarnos a una base de datos y realizar consultas y expandir los datos en una grilla (DataGridView) Pasos para realizar el proceso: 1.- Crear el Proyecto 15
    • Manual Programación C#.NET Visual Studio 2010 2012 2-. Agregar un origen e datos al proyecto 2.1.- Clic en Nuevo Origen de Datos 16
    • Manual Programación C#.NET Visual Studio 2010 2012 3-. Seleccionar el tipo de origen de datos que se va a agregar al proyecto, en este caso una base de datos 4-. Agregar una nueva conexión de bases de datos 17
    • Manual Programación C#.NET Visual Studio 2010 2012 5.- Seleccionar el tipo de conexión 5.1.- Seleccionar el motor, en este caso SQL Server 18
    • Manual Programación C#.NET Visual Studio 2010 2012 5.2.- Seleccionar el nombre del servidor, 5.3.- Verificar la conexión haciendo clic en Test Connection 19
    • Manual Programación C#.NET Visual Studio 2010 2012 6-. Seleccionar el nombre de la tabla, en este caso Unnatec 6.1.- Hacer clic en Next 20
    • Manual Programación C#.NET Visual Studio 2010 2012 6.2.- Hacer clic en next para salvar la conexión 7-. Clic en Finísh para finalizar el proceso 21
    • Manual Programación C#.NET Visual Studio 2010 2012 9-. Seleccionar la tabla o tablas y vistas Como se ve en la siguiente selección a de la tabal estudiantes 22
    • Manual Programación C#.NET Visual Studio 2010 2012 3.5 Datagridview y DataTable Para colocar un DataGriView, hay que arrastrar el control hacia le formulario y colocarle en la propiedad DataSource el nombre del objeto del DataSet, Estudiantes Los datos solamente se visualizan en tiempo de ejecución, como se ve a continuación: 23
    • Manual Programación C#.NET Visual Studio 2010 2012 Elementos que se colocan en el proyecto al arrastrar el DatSet Elementos seleccionados 24
    • Manual Programación C#.NET Visual Studio 2010 2012 Código Fuente generado al insertar los elementos using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void estudiantesBindingNavigatorSaveItem_Click(object sender, EventArgs e) { this.Validate(); this.estudiantesBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.uNNATECDataSet); } private void Form1_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'uNNATECDataSet.Estudiantes' table. You can move, or remove it, as needed. this.estudiantesTableAdapter.Fill(this.uNNATECDataSet.Estudiantes); } } } Insertar BinDinNavigator. Nos permite recorrer los registros de una tabla a través de la visualización en el proyecto 25
    • Manual Programación C#.NET Visual Studio 2010 2012 Compendio de Prácticas Pantalla de Captura de la Aplicación using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.OleDb; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Configuration; //Agregue esta referencia namespace WindowsFormsApplication1 { public partial class Form1 : Form { private OleDbConnection conexion; private OleDbCommand comando; private OleDbDataReader lector; private String consulta; private String cadena; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //utilizo esta variable y recupero la cadena de configuracion gracias //a la referencia using System.Configuration; esta para poder utilizar //app.config el archivo de configuracion que se puede adicionar al proyecto o //con el asistente de conexion de base de datos cadena ConfigurationManager.ConnectionStrings["ClinicaConnectionString"].ToString(); 26 =
    • Manual Programación C#.NET Visual Studio 2010 2012 try { //Creamos el objeto de conexion con su cadena respectiva conexion = new OleDbConnection(cadena); //Verificamos el estado de la conexion if (conexion.State == ConnectionState.Closed) conexion.Open(); } catch (Exception ex) { MessageBox.Show("Imposible conectarse a Error:"+ex.Message.ToString()); } btnGuardar.Enabled = false; } la DB. private void txtIdentidad_Leave(object sender, EventArgs e) { try { //Creamos una consulta basica para determinar si ya existe la identidad //tomando como dato el valor de la caja txtIdentidad consulta = "select * from Clientes where identidad="; consulta += """ + txtIdentidad.Text.Trim() + """; //Creamos el comando y pasamos la cadena sql comando = new OleDbCommand(consulta, conexion); lector = comando.ExecuteReader(); //Determinamos si hay registros devueltos en el DataReader if (lector.HasRows) { MessageBox.Show("Cliente ya existe!"); txtIdentidad.Focus(); txtIdentidad.Clear(); } else btnGuardar.Enabled = true; lector.Dispose(); comando.Dispose(); } catch (Exception ex) { MessageBox.Show("Imposible crear consulta. Error:" + ex.Message.ToString()); } } private void btnGuardar_Click(object sender, EventArgs e) { if ((txtIdentidad.Text != "") && (txtNombres.Text != "") && (txtApellidos.Text != "")) 27
    • Manual Programación C#.NET Visual Studio 2010 2012 { try { //Creamos el query insert para adicionar el registro consulta = "insert into clientes(identidad,nombres,apellidos) values("; consulta += """ + txtIdentidad.Text.Trim() + "","" + txtNombres.Text.Trim() + "",""; consulta += txtApellidos.Text.Trim() + "")"; comando = new OleDbCommand(consulta, conexion); comando.ExecuteNonQuery(); MessageBox.Show("Registro Almacenado con Exito"); txtIdentidad.Focus(); txtIdentidad.Clear(); txtNombres.Clear(); txtApellidos.Clear(); btnGuardar.Enabled = false; } catch (Exception ex) { MessageBox.Show("Imposible crear consulta. ex.Message.ToString()); } } else { MessageBox.Show("Debes llenar todos los campos!"); txtIdentidad.Focus(); } } private void btnSalir_Click(object sender, EventArgs e) { this.Close(); } private void Form1_Leave(object sender, EventArgs e) { //Liberamos los objetos conexion.Close(); conexion.Dispose(); } private void btnMostrar_Click(object sender, EventArgs e) { //Mostramos el datagrid frmDataGrid frm = new frmDataGrid(); frm.Show(); 28 Error:" +
    • Manual Programación C#.NET Visual Studio 2010 2012 } } } Pantalla de la Aplicación 29
    • Manual Programación C#.NET Visual Studio 2010 2012 Ejercicios Propuestos: REALIZAR LOS SIGUIENTES EJERCICIOS 1. Dado el sueldo bruto y los descuentos calcular el sueldo neto. 2. Dado el sueldo bruto de un empleado calcular los descuento y el sueldo neto. Si el empleado gana menos o igual de RD$ 5,000.00, descontar un 3%, sino, descontar un 5%. 3. Dado un número verificar si es par o impar. 4. Imprimir los números de 1 al 20 5. Imprimir los números pares del 1 al 14. Utilizar el módulo residuo. 6. Dado un número verificar si es primo o no. Un número es primo si es divisible por el y la unidad solamente. 7. En un rango de edades, clasificados por letras, asignar el vehículo que le corresponde a cada edad. a. Entre 18-25 auto: honda b. Entre 26-30 auto: porshe c. Entre 31-40 auto: bmw d. Entre 41-50 auto: mercedes benz e. Entre 51-60 auto: jaguar 8. Dado 5 elementos en un arreglo, determinar si la suma de ellos es par o impar 9. Dado 8 elementos en un arreglo, ordenarlos en forma ascendente y cambiando un signo en forma descendente. REALIZAR LOS SIGUIENTES PROGRAMAS. SI TIENES QUE AUXILIARSE DEL PROFESOR, HÁGALO, PERO DEBE REALIZAR TODOS ESTOS EJERCICIOS. DE USTED DEPENDE SU AVANCE. 2. Pedro es estudiante activo de CENTU y paga RD$ 900.00 de mensualidad y el costo del curso es RD$1,800.00. Cuanto debe pagar Pedro en el Primer mes de clase y cuál es el balance pendiente del curso. 3. Dado el monto de venta de un vendedor, eje: RD$ 50,000.00 calcular la comisión por venta de dicho vendedor, la cual corresponde a un 10% del monto total vendido. 4. Dado tres números hallar la suma de ellos. 5. Dado dos números, determinar la multiplicación de ellos. 6. Fui al supermercado y compré 3 libras de arroz a RD$ 15.00 cada una. Cuanto pagué en la caja al momento del cuadre. 7. Si Samuel tiñe 2 carros comprados a RD$ 500.00 cada uno, cuanto le costaron los dos carros. 8. Luis Manuel Cruz tomó un préstamo en el Banco Popular de RD$ 10,000.00 a una tasa de interés anual de 28%. Cuanto deberá pagar Luis Manuel Cruz mensualmente si decide pagarlo en un año. 9. Cielo Reynoso tiene una librería y compra 20 libros a RD$ 100.00 para venderlos a RD$ 115.00. Cuanto se ganará Cielo en la venta Total. 10. Dado dos números hallar la división de ambos. Asumir que el segundo nunca será igual a cero. 30