Está en la página 1de 78
Base de Datos
Base de Datos
Base de Datos
Base de Datos
Base de Datos
Base de Datos
Base de Datos
Base de Datos
Base de Datos

Base de Datos

Base de Datos

Resumen

Base de Datos

Tipos de Bases de Datos

Lenguaje de Consulta Estructurado (SQL)

Comandos

Clausulas

Operadores Lógicos

Operadores de comparación

Funciones de agregado

Sentencias Básicas SQL

Conexión a BD

ADO.NET

Principales Clases de ADO.NET

Proveedores de datos de ADO.NET

Desplazamientos por los registros de una tabla

Principales Clases de ADO.NET  Proveedores de datos de ADO.NET  Desplazamientos por los registros de
Principales Clases de ADO.NET  Proveedores de datos de ADO.NET  Desplazamientos por los registros de
Principales Clases de ADO.NET  Proveedores de datos de ADO.NET  Desplazamientos por los registros de
Principales Clases de ADO.NET  Proveedores de datos de ADO.NET  Desplazamientos por los registros de
Bases de Datos  Una base de datos es un sistema formado por un conjunto
Bases de Datos  Una base de datos es un sistema formado por un conjunto

Bases de Datos

Una base de datos es un sistema formado por un conjunto de datos relacionados y almacenados en discos que permiten el acceso directo a ellos y una serie de programas que manipulan ese conjunto de datos (SGBD sistema de gestión de bases de datos).

Cada base de datos se compone de una o más tablas que guardan los datos.

Cada tabla tiene una o más columnas y filas.

Las columnas guardan una parte de la información sobre cada elemento que se

quiere guardar en la tabla, cada fila de la tabla conforma un registro.

Un registro contiene campos que pueden ser del mismo tipo de dato o de

diferentes tipos de datos.

Tipos de Bases de Datos En el mercado existen varios sistemas de administración de bases
Tipos de Bases de Datos En el mercado existen varios sistemas de administración de bases

Tipos de Bases de Datos

En el mercado existen varios sistemas de administración de bases de datos, algunos son: SQL Server, Access, Oracle, MySQL, etc.

Relacionales

Son las que más se utilizan. Las bases de datos relacionales son un conjunto de

tablas relacionadas entre sí, las tablas pertenecientes a una base de datos pueden

relacionarse entre sí utilizando campos clave comunes entre las tablas.

Orientada a objetos

El esquema de una base de datos por objetos está representado por un conjunto de clases que definen las características y el comportamiento de los objetos que poblarán la base de datos. Con una base de datos orientada a objetos, los objetos

memorizados en la base de datos contienen tanto los datos como las operaciones

posibles con tales datos

Lenguaje de Consulta Estructurado (S.Q.L.) Es un lenguaje de base de datos normalizado, utilizado por
Lenguaje de Consulta Estructurado (S.Q.L.) Es un lenguaje de base de datos normalizado, utilizado por

Lenguaje de Consulta Estructurado (S.Q.L.)

Es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.

Comandos

Existen dos tipos de comandos SQL:

DLL que permiten crear y definir nuevas bases de datos, tablas, campos e índices.

DML que permiten generar consultas para ordenar, filtrar y extraer datos de la

base de datos.

Comandos

 

Comandos DLL

Comando

Descripción

CREATE

Utilizado para crear nuevas bases de datos, tablas, campos e índices.

DROP

Empleado para eliminar bases de datos, tablas e índices.

ALTER

Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.

 

Comandos DML

 

Utilizado para consultar registros de la base de datos que satisfagan un criterio

SELECT

determinado.

INSERT

Utilizado para cargar lotes de datos en la base de datos en una única operación.

UPDATE

Utilizado para modificar los valores de los campos y registros específicados.

DELETE

Utilizado para eliminar registros de una tabla de una base de datos.

los campos y registros específicados. DELETE Utilizado para eliminar registros de una tabla de una base
los campos y registros específicados. DELETE Utilizado para eliminar registros de una tabla de una base
los campos y registros específicados. DELETE Utilizado para eliminar registros de una tabla de una base
los campos y registros específicados. DELETE Utilizado para eliminar registros de una tabla de una base
los campos y registros específicados. DELETE Utilizado para eliminar registros de una tabla de una base

Clausulas

Cláusula

Descripción

FROM

Para específicar la tabla de la cual se van a seleccionar los registros.

WHERE

Para específicar las condiciones que deben reunir los registros a seleccionar.

GROUP BY

Utilizada para separar los registros seleccionados en grupos específicos.

HAVING

Utilizada para expresar la condición que debe satisfacer cada grupo.

ORDER BY

Para ordenar los registros seleccionados.

para expresar la condición que debe satisfacer cada grupo. ORDER BY Para ordenar los registros seleccionados.
para expresar la condición que debe satisfacer cada grupo. ORDER BY Para ordenar los registros seleccionados.
para expresar la condición que debe satisfacer cada grupo. ORDER BY Para ordenar los registros seleccionados.
para expresar la condición que debe satisfacer cada grupo. ORDER BY Para ordenar los registros seleccionados.
para expresar la condición que debe satisfacer cada grupo. ORDER BY Para ordenar los registros seleccionados.

Operadores lógicos

Operador

Uso

AND

Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.

OR

Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

NOT

Negación lógica. Devuelve el valor contrario de la expresión.

BETWEEN

Utilizado para específicar un intervalo de valores.

LIKE

Utilizado en la comparación de un patrón.

IN

Utilizado para específicar registros de una base de datos.

ALL

Devuelve True si el conjunto de comparaciones es verdad.

para específicar registros de una base de datos. ALL Devuelve True si el conjunto de comparaciones
para específicar registros de una base de datos. ALL Devuelve True si el conjunto de comparaciones
para específicar registros de una base de datos. ALL Devuelve True si el conjunto de comparaciones
para específicar registros de una base de datos. ALL Devuelve True si el conjunto de comparaciones
para específicar registros de una base de datos. ALL Devuelve True si el conjunto de comparaciones

Operadores de Comparación

Operador

Uso

<

Menor que

>

Mayor que

<>

Distinto de

<=

Menor o igual que

>=

Mayor o igual que

=

Igual que

Mayor que <> Distinto de <= Menor o igual que >= Mayor o igual que =
Mayor que <> Distinto de <= Menor o igual que >= Mayor o igual que =
Mayor que <> Distinto de <= Menor o igual que >= Mayor o igual que =
Mayor que <> Distinto de <= Menor o igual que >= Mayor o igual que =
Mayor que <> Distinto de <= Menor o igual que >= Mayor o igual que =
Mayor que <> Distinto de <= Menor o igual que >= Mayor o igual que =
Mayor que <> Distinto de <= Menor o igual que >= Mayor o igual que =
Mayor que <> Distinto de <= Menor o igual que >= Mayor o igual que =

Funciones de agregado

Función

Descripción

AVG

Utilizada para calcular el promedio de los valores de un campo determinado.

COUNT

Utilizada para devolver el número de registros de la selección.

SUM

Utilizada para devolver la suma de todos los valores de un campo determinado.

MAX

Utilizada para devolver el valor más alto de un campo específicado.

MIN

Utilizada para devolver el valor más bajo de un campo específicado.

más alto de un campo específicado. MIN Utilizada para devolver el valor más bajo de un
más alto de un campo específicado. MIN Utilizada para devolver el valor más bajo de un
más alto de un campo específicado. MIN Utilizada para devolver el valor más bajo de un
más alto de un campo específicado. MIN Utilizada para devolver el valor más bajo de un
más alto de un campo específicado. MIN Utilizada para devolver el valor más bajo de un

Sentencias Básicas SQL

CREATE DATABASE <nombre_base_de_datos)

DROP DATABASE <nombre_base_de_datos_a_eliminar>

CREATE TABLE nombre_tabla (campo1 tipodato DEFAULT,., campo2 tipodato, DEFAULT)

La cláusula DEFAULT indica la característica de cada columna: NOT NULL (no permite valores nulos), UNIQUE (dos filas no pueden tener un mismo valor en la misma

columna), PRIMARY KEY (define una columna como clave principal).

DROP TABLE nombre_tabla

INSERT INTO nombre_tabla (campo1, campo2,….) VALUES (valor1, valor2,….)

ALTER TABLE nombre_tabla ADD nombre_campo tipo_de_dato ()

(campo1, campo2,….) VALUES (valor1, valor2,….)  ALTER TABLE nombre_tabla ADD nombre_campo tipo_de_dato ()
(campo1, campo2,….) VALUES (valor1, valor2,….)  ALTER TABLE nombre_tabla ADD nombre_campo tipo_de_dato ()

Sentencias Básicas SQL

SELECT * FROM usuarios

SELECT identificacion FROM usuarios

SELECT * FROM usuarios WHERE identificación<=’116’

SELECT nombres FROM usuarios WHERE nombres IN (‘Andres’,’Cristian’)

SELECT * FROM usuarios WHERE identificación<=‘130’ AND ciudad=’Bogota’

SELECT * FROM usuarios WHERE nombres LIKE ‘C%’

SELECT * FROM usuarios WHERE nombres LIKE ‘%i%’

SELECT * FROM usuarios WHERE nombres LIKE _o%’

SELECT * FROM usuarios WHERE identificación BETWEEN ’116’ AND ‘140’

FROM usuarios WHERE nombres LIKE _o%’  SELECT * FROM usuarios WHERE identificación BETWEEN ’116’ AND
FROM usuarios WHERE nombres LIKE _o%’  SELECT * FROM usuarios WHERE identificación BETWEEN ’116’ AND
FROM usuarios WHERE nombres LIKE _o%’  SELECT * FROM usuarios WHERE identificación BETWEEN ’116’ AND
FROM usuarios WHERE nombres LIKE _o%’  SELECT * FROM usuarios WHERE identificación BETWEEN ’116’ AND
FROM usuarios WHERE nombres LIKE _o%’  SELECT * FROM usuarios WHERE identificación BETWEEN ’116’ AND

Sentencias Básicas SQL

DELETE FROM nombre_tabla

DELETE FROM usuarios WHERE identificación >’150’

DELETE FROM usuarios WHERE nombres NOT IN (‘Cristian’)

UPDATE nombre_tabla SET nombre_campo=criterio

UPDATE usuarios SET credito=100000

UPDATE usuarios SET credito=credito +200000 WHERE nombres LIKE ‘A%’

UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’

+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’

Sentencias Básicas SQL

DELETE FROM nombre_tabla

DELETE FROM usuarios WHERE identificación >’150’

DELETE FROM usuarios WHERE nombres NOT IN (‘Cristian’)

UPDATE nombre_tabla SET nombre_campo=criterio

UPDATE usuarios SET credito=100000

UPDATE usuarios SET credito=credito +200000 WHERE nombres LIKE ‘A%’

UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’

+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
+200000 WHERE nombres LIKE ‘A%’  UPDATE usuarios SET credito=credito+50000 WHERE ciudad=’Bogota’
Conexión a Base de Datos Visual Basic .NET utiliza la tecnología ADO.NET que permite el
Conexión a Base de Datos Visual Basic .NET utiliza la tecnología ADO.NET que permite el

Conexión a Base de Datos

Visual Basic .NET utiliza la tecnología ADO.NET que permite el acceso a bases de datos mediante proveedores para sistemas administradores de bases de datos que funcionan en el entorno .NET. ADO.NET se utiliza entonces para conectar a estos orígenes de datos y recuperar, manipular y actualizar los datos contenidos.

ADO.NET es un conjunto de clases que se encuentran en el archivo System.Data.dll y

está integrada con las clases del archivo System.Xml.dll. Cuando se compila un código que utiliza el espacio de nombres System.Data se hace referencia a dichos

archivos. Estas clases sirven para separar el acceso a la base de datos y la

manipulación de los mismos.

Principales clases de ADO.NET  DataSet : Es el conjunto de datos donde se pueden
Principales clases de ADO.NET  DataSet : Es el conjunto de datos donde se pueden

Principales clases de ADO.NET

DataSet: Es el conjunto de datos donde se pueden incluir una o más tablas con la información acerca de las relaciones entre éstas, y las restricciones que puedan tener los datos.

DataTable: Permite la manipulación de los datos en la memoria y realiza

operaciones como exploración, ordenación, edición, aplicación de filtros,

creación de vistas, etc.

DataView: Permite representar los datos de la clase DataTable, creando múltiples

vistas de los mismos.

DataReader: Lee un flujo de datos de solo avance y solo lectura desde un origen

de datos

Proveedores de datos de ADO.NET La plataforma .NET incorpora cuatro proveedores: SQL SERVER, ORACLE, ODBC,
Proveedores de datos de ADO.NET La plataforma .NET incorpora cuatro proveedores: SQL SERVER, ORACLE, ODBC,

Proveedores de datos de ADO.NET

La plataforma .NET incorpora cuatro proveedores: SQL SERVER, ORACLE, ODBC, OLEDB. Los proveedores de datos proporcionan el puente entre las bases de datos y las aplicaciones. Los principales objetos de un proveedor de datos .NET son:

Connection: Sirve para establecer una conexión con una base de datos.

Command: Sirve para ejecutar sentencias SQL y devolver resultados de una base

de datos.

BD

NameSpace

Connection

Command

DataAdapter

 

intercambiar datos entre

una base de datos y un conjunto de datos.

SqlConnection

SqlCommand

SqlDataAdapter

SQL SERVER

System.Data.SqlClient

OLEDB

System.Data.OleDb

OleDbConnection

OleDbCommand

OleDbDataAdapter

ORACLE

System.Data.OracleClient

OracleConnection

OracleCommand

OracleDataAdapter

ODBC

System.Data.Odbc

OdbcConnection

OdbcCommand

OdbcDataAdapter

DataAdapter: Es el adaptador de datos, el cual es un conjunto de objetos para

Objetos comunes de ADO.NET

Objetos comunes de ADO.NET
Objetos comunes de ADO.NET
Objetos comunes de ADO.NET
Objetos comunes de ADO.NET
Objetos comunes de ADO.NET
Objetos comunes de ADO.NET

Desplazamiento por los registros de una tabla

Se ha realizado conexión a una base de datos utilizando código o por medio de la herramienta Explorador de servidores y recurriendo al control DataGridView, visualizándose los registros de una tabla específica.

Aparte de visualizar la información que contenga una tabla, también puede

desplazarse o moverse por cada uno de los registros que contenga dicha tabla. Está

operación la realiza en un formulario utilizando TextBox o un DataGridView y puede desplazarse por cada uno de los registros por medio de botones o de un control

BindingNavigator.

DataGridView y puede desplazarse por cada uno de los registros por medio de botones o de
DataGridView y puede desplazarse por cada uno de los registros por medio de botones o de

Muchas Gracias…

“Cuando menos lo esperamos, la vida nos coloca delante un desafío que pone a

prueba nuestro coraje y nuestra voluntad de cambio” Paulo Coelho.

la vida nos coloca delante un desafío que pone a prueba nuestro coraje y nuestra voluntad
la vida nos coloca delante un desafío que pone a prueba nuestro coraje y nuestra voluntad
la vida nos coloca delante un desafío que pone a prueba nuestro coraje y nuestra voluntad
la vida nos coloca delante un desafío que pone a prueba nuestro coraje y nuestra voluntad

LISTADO DE REGISTROS DE LA TABLA EMPLEADOS (MODO CONECTADO)

1. Para este ejercicio, se requiere tener el archivo Empleados.mdb en

C:\Datos,esta es una base de datos creada en Microsoft Access. Es necesario asegurarse que el archivo se llame Empleados.mdb y se encuentre ubicado en C:\Datos. 2. Crear un nuevo proyecto Windows en C#.NET. En la Forma (Form1), colocar 3

botones de comando y un dataGridView de la siguiente manera:

de comando y un dataGridView de la siguiente manera: El dataGridView principalmente sirve para desplegar una

El dataGridView principalmente sirve para desplegar una cuadrícula que

muestra datos (aunque también es posible modificarlos, si se desea). Un dataGridView permite configurar los renglones y las columnas que se muestran en ella.

3. Cambiar las siguientes propiedades:

a. En la Forma (Form1)

i. Text: Listado

b. En el DataGridView

i. Name: dataGridView1 (Por default ya aparece así, solo checar que tenga ese nombre)

ii. ReadOnly: True

4. Dar doble click en el botón “Regresar” y teclear lo siguiente:

this.Close();

5. Dar doble click en el botón “Limpiar”y teclear lo siguiente:

dataGridView1.DataSource = null;

6. Buscar arriba, al principio del código, la sección donde se colocan las sentencias using. Sólo busque la sección, no cambie nada: Inmediatamente después, agregue esta línea: (NOTA: Esta línea es la referencia a las clases necesarias para acceso a datos mediante ADO.NET en este programa.).

a. using System.Data.OleDb;

7. Regresar al modo de diseño de la forma, dar doble click en el botón “LISTAR” y teclear lo siguiente:

private void btnListar_Click(object sender, EventArgs e)

{

 

try

{

string cc = "provider=Microsoft.Jet.OLEDB.4.0;data source=C:\\Datos\\Empleados.mdb"; OleDbConnection cn = new OleDbConnection(cc); cn.Open(); string comando = "Select * from Empleados"; OleDbCommand cm = new OleDbCommand(comando, cn); OleDbDataReader dr = cm.ExecuteReader(); if (dr.HasRows == true)

{

DataTable dt = new DataTable(); dt.Load(dr); dataGridView1.DataSource = dt; dataGridView1.Columns[2].DefaultCellStyle.Format = "c2"; dataGridView1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

dataGridView1.AutoResizeColumns();

}

else

{

MessageBox.Show(" No hay datos para mostrar! ");

}

cn.Close();

}

catch (Exception ex)

{

MessageBox.Show(" Ha habido un error! " + ex.Message);

}

}

8. En este punto, el programa debe mostrar los registros que se encuentran en la tabla Empleados. Entre a Access, y verifique que los registros que se muestran en pantalla sean los que se efectivamente se encuentran grabados en la tabla Empleados.

EXPLICACIÓN DEL CÓDIGO PARA EL LISTADO DE DATOS (BOTÓN “LISTAR”)

Observe que todo el código se encuentra dentro de un bloque try

catch. Es una

practica común que todas las operaciones realizadas con una base de datos se

para prevenir que un error inesperado

altere la ejecución del programa. De esta manera, si ocurre alguna excepción, el usuario obtiene el respectivo aviso, y sigue con la operación normal de su programa.

encierren siempre en un bloque try

catch

Para realizar este listado, usaremos el modo “conectado” de ADO.NET. En este modo conectado, los objetos principales son el Connection, Command, y DataReader. Recordemos que el Connection es el encargado de conectar, y mantener un enlace con la base de datos. El Command es una vía para ejecutar sentencias SQL en la base de datos. El DataReader es un objeto donde temporalmente se almacenan los registros que son el resultado de la consulta ejecutada. El DataReader proporciona

una manera limitada de almacenamiento, pero ofrece la ventaja de que no consume muchos recursos y funciona rápidamente. El primer paso es construir la cadena de conexión. Observe que se utiliza una variable string llamada cc para almacenar los datos de la cadena de conexión, la cual contiene todos los detalles que necesita ADO.NET para conectarse a la base de datos. Observe como en esta cadena de conexión se menciona que el archivo se encuentra en C:\Datos\ y se llama Empleados.mdb.

Nota: Se coloca doble diagonal (c:\\datos\\empleados.mdb) pues la diagonal (\) es un carácter especial en C#, y su sintaxis requiere que se coloque doble (\\) para que C# lo interprete como tal. string cc = "provider=Microsoft.Jet.OLEDB.4.0;data source=C:\\Datos\\Empleados.mdb;";

El siguiente paso es crear una conexión hacia esta base de datos (descrita en la cadena de conexión anterior) y posteriormente abrirla:

OleDbConnection cn = new OleDbConnection(cc); cn.Open();

El siguiente paso es colocar en una variable la sentencia SQL con la cual se va a llenar el DataSet para el listado que se desea obtener. En este caso, la sentencia Select * from empleados es suficiente para traer todos los campos de los registros de la tabla Empleados. string comando = "Select * from empleados";

Ahora se debe crear un objeto Command para poder enviar esta consulta, utilizando la conexión que previamente se ha creado y abierto hacia la base de datos que se está utilizando:

OleDbCommand cm = new OleDbCommand(comando, cn);

Ahora se debe crear un objeto DataReader para almacenar el resultado de la consulta que ejecutará el objeto Command creado anteriormente. Nota: Observe que el método ExecuteReader indica que se espera un resultado después de ejecutar la consulta; dicho resultado se debe almacenar en un DataReader. OleDbDataReader dr = cm.ExecuteReader();

El siguiente paso es verificar si la consulta entrega resultados (Es posible que no haya ningún dato en la tabla de Empleados). Si el DataReader tiene renglones (HasRows

= true), significa que por lo menos hay un renglón que debe mostrarse. En el caso contrario (else), no hay ningún dato para mostrar.

if (dr.HasRows == true)

{

/* Ahora bien, si hay datos para mostrar, el DataReader debe ser cargado a una estructura llamada DataTable, que permite que el DataGridView muestre los datos directamente de ella. Nota: El DataGridView NO puede mostrar los datos directamente del DataReader. */

DataTable dt = new DataTable(); dt.Load(dr); dataGridView1.DataSource = dt;

/*Estas lineas sirven para colocar formato especial a la tercera columna (Recordar que las columnas se numeran comenzando en cero). La tercera columna debe mostrar un signo de pesos, dos decimales y la cantidad debe estar cargada a la derecha de la celda donde se muestra.*/ dataGridView1.Columns[2].DefaultCellStyle.Format = "c2"; dataGridView1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

/*Esta instrucción permite que automáticamente se ajuste el ancho de las columnas del DataGridview */

dataGridView1.AutoResizeColumns();

}

else

{

MessageBox.Show(" No hay datos para mostrar! ");

}

Finalmente, se debe cerrar la conexión que fue abierta anteriormente:

cn.Close();

Bases de Datos Access y C#. Insert, select, update, delete

1. Crea una base de Datos en Access

Bases de Datos Access y C#. Insert, select, update, delete 1. Crea una base de Datos
Bases de Datos Access y C#. Insert, select, update, delete 1. Crea una base de Datos
Bases de Datos Access y C#. Insert, select, update, delete 1. Crea una base de Datos
2. Crea un Nuevo proyecto en C# 3. Agrega una nueva clase llamada Database y

2. Crea un Nuevo proyecto en C#

2. Crea un Nuevo proyecto en C# 3. Agrega una nueva clase llamada Database y a

3. Agrega una nueva clase llamada Database y a continuación escribe el siguiente código:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.OleDb;

namespace bd_access2

{

class Database

{

private string StrConexion;

private OleDbConnection Conexion; private OleDbDataAdapter Adapter; private DataSet miDataSet = new DataSet();

public void IniciarConexion(string DataBase)

{

 

//Creo la cadena de conexion para Office 2007 StrConexion = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = " + DataBase;

//Objeto conexion Conexion = new OleDbConnection(StrConexion);

}

public int ejecutar_sql(string sql)

{

 

//inserto en la BD int i = 0; try

{

 

Conexion.Open();

OleDbCommand cmd = new OleDbCommand(sql, Conexion);

i

= cmd.ExecuteNonQuery();

 

}

catch

 

{

 

i

= -1;

 

}

 

return i;

}

public DataTable consultar(string sql, string tabla)

{

 

Adapter = new OleDbDataAdapter(sql, Conexion);

//Creo el DataTable DataTable dt = new DataTable();

//Relleno el adaptador con los datos en memoria Adapter.Fill(dt);

return dt;

}

}

}

4.

Crea una nueva clase llamada Alumnos y escribe el siguiente código:

using System; using System.Collections.Generic; using System.Linq; using System.Text;

namespace bd_access2

{

class Alumnos

{

public string ncuenta; public string nombre; public string apellidop; public string apellidom; public int edad; public int semestre;

public Alumnos()

{

}

public Alumnos(string ncuenta, string nombre, string apellidop, string apellidom, int edad, int semestre)

{

this.ncuenta = ncuenta; this.nombre = nombre; this.apellidop = apellidop; this.apellidom = apellidom; this.edad = edad; this.semestre = semestre;

}

}

}

5. Edita el formulario agregando los siguientes componentes:

this .edad = edad; this .semestre = semestre; } } } 5. Edita el formulario agregando

6.

Edita la propiedad ContextMenuStrip del DataGridView1. (Le permitirá mostrar un menú flotante al dar clic con el botón derecho sobre el DataGridView.

al dar clic con el botón derecho sobre el DataGridView. 7. Edita el código del Form1.cs

7. Edita el código del Form1.cs

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 bd_access2

{

public partial class Form1 : Form

{

Database DB = new Database(); String sql;

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

 

DB.IniciarConexion("

/

/prueba.accdb");

//Creo el miembro de datos del DataGridView dataGridView1.DataMember = "alumnos";

}

private Alumnos asig_alum_text()

{

string ncta, nombre, apellidop, apellidom; int edad = 0, semestre; ncta = txtnCta.Text; nombre = txtNombre.Text; apellidop = txtApellidop.Text; apellidom = txtApellidom.Text; try

{

edad = Convert.ToInt32(txtEdad.Text);

}

catch

{

//Ejemplo de validacion MessageBox.Show("Ingrese un valor numerico"); txtEdad.Focus(); txtEdad.SelectionStart = 0; txtEdad.SelectionLength = txtEdad.TextLength;

}

semestre = Convert.ToInt32(txtSemestre.Text); Alumnos A = new Alumnos(ncta, nombre, apellidop, apellidom, edad, semestre);

return A;

}

private void btnInsertar_Click(object sender, EventArgs e)

{

 

Alumnos a = asig_alum_text(); sql = "INSERT INTO alumnos(ncuenta,nombre,apellidop,apellidom,edad,semestre)";

sql += "VALUES('" + a.ncuenta + "'" + ",'" + a.nombre + "','" + a.apellidop + "'"; sql += ",'" + a.apellidom + "','" + a.edad + "', '" + a.semestre + "')"; int insert = DB.ejecutar_sql(sql); if (insert == 1) //Si se logro la insercion limpio el formulario

{

MessageBox.Show("Se insertaron correctamente sus datos"); foreach (Control txt in this.Controls)

{

 

if (txt.GetType() == typeof(TextBox)) txt.Text = "";

 

}

}

else MessageBox.Show("Hubo un error al insertar los datos");

}

private void btnBuscar_Click(object sender, EventArgs e)

{

 

sql = "SELECT * FROM alumnos WHERE ncuenta='" + txtCriterio.Text + "'";

//Vuelco los datos al DataGridView dataGridView1.DataSource = DB.consultar(sql, "alumnos");

}

private void modificarToolStripMenuItem_Click(object sender, EventArgs e)

{

//Para modificar los datos del alumnos int renglon = dataGridView1.CurrentCell.RowIndex;

int ncuenta = Convert.ToInt32(dataGridView1[0, renglon].Value.ToString()); if (ncuenta != -1)

{

txtnCta.Text = dataGridView1[0, renglon].Value.ToString(); txtNombre.Text = dataGridView1[1, renglon].Value.ToString(); txtApellidop.Text = dataGridView1[2, renglon].Value.ToString(); txtApellidom.Text = dataGridView1[3, renglon].Value.ToString(); txtEdad.Text= dataGridView1[4, renglon].Value.ToString(); txtSemestre.Text = dataGridView1[5, renglon].Value.ToString(); btnActualizar.Enabled = true;

}

}

private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)

{

//Para eliminar un alumno int renglon = dataGridView1.CurrentCell.RowIndex;

int ncuenta = Convert.ToInt32(dataGridView1[0, renglon].Value.ToString()); if (ncuenta != -1)

{

if (MessageBox.Show("Esta seguro que desea eliminar el alumno " + dataGridView1[1, renglon].Value.ToString(), "Eliminar registro", MessageBoxButtons.YesNo) == DialogResult.Yes) DB.ejecutar_sql("DELETE FROM alumnos WHERE Cuenta='"+ ncuenta +"'");

dataGridView1.Rows.RemoveAt(renglon);

}

}

private void btnActualizar_Click(object sender, EventArgs e)

{

 

Alumnos a = asig_alum_text(); sql = "UPDATE alumnos SET nombre='" + a.nombre + "',"; sql += " apellidop='" + a.apellidop + "',apellidom='" + a.apellidom + "',"; sql += " edad='" + a.edad + "', semestre='" + a.semestre + "'"; sql += " WHERE ncuenta='" + a.ncuenta + "'";

int update = DB.ejecutar_sql(sql); if (update == 1) //Si se logro la insercion limpio el formulario

{

MessageBox.Show("Se actualizaron correctamente sus datos"); foreach (Control txt in this.Controls)

{

 

if (txt.GetType() == typeof(TextBox)) txt.Text = "";

 

}

}

else MessageBox.Show("Hubo un error al actualizar los datos");

}

}

}

NOTAS:

No olviden generar todo el código de los eventos.

Verifiquen bien el nombre de sus controles.

Integren un módulo de validación de datos.

Agreguen control de errores en las partes que lo requieran.

Crear conexión a base de datos SQL Server

Programando con Visual C# 2008

a base de datos SQL Server Programando con Visual C# 2008 Objetivo: Conectar una base de

Objetivo: Conectar una base de datos SQL Server a nuestra aplicación en Microsoft Visual

C# 2008, por medio de código.

1
1

1. Para empezar, crearé una aplicación en Microsoft Visual Studio 2008, a la cual yo llamare Conexión.

2. En el primer formulario lo único que agregaré será un componente Button (Botón), tal como se ve en la siguiente imagen.

Button (Botón), tal como se ve en la siguiente imagen. 3. Supondré que esta Forma será

3. Supondré que esta Forma será el SplashScreen de nuestra aplicación, pero sin la funcionalidad del mismo. El Button me servirá para instanciar la apertura de la siguiente Forma.

4. Para llevar a cabo la conexión de mi aplicación con la base de datos, en mi caso llamada Empresa, me valdré del evento Load de la Forma, y en el colocare el siguiente código.

Try

{

 

myConnection.ConnectionString = conexion; myConnection.Open(); MessageBox.Show("Conectado a la Base de Datos: " + myConnection.Database);

}

catch

{

 

MessageBox.Show("No se pudo establecer conexion con la base de datos: " + myConnection.Database); Application.Exit();

}

En este sencillo código, estoy implementando un Try catch (yo lo llamo: Intenta esto Si falla haz esto), en donde en la primer parte estoy utilizando una variable llamada myConnection (se le puede poner cualquier nombre) la cual es de tipo SqlConnection, y que por haber sido creado de este tipo, hereda ciertos métodos y propiedades, como lo es ConnectionString; la cual almacenara, propiamente, la cadena de conexión con el Servidor

Crear conexión a base de datos SQL Server

Programando con Visual C# 2008

u Origen de datos (Data Source), conexion; es simplemente una variable tipo cadena que almacena la cadena de conexión. Open(), es un método, que permite abrir, lógicamente, la conexión de nuestra base de datos, para nuestra aplicación. Después genero un mensaje indicando que se ha conectado a la base de datos, e indico el nombre de esta en el mensaje, cabe mencionar que este mensaje no es obligatorio colocarlo, es lo para que sirva me método se aseguramiento nuestro de que ya se conectó a la base de datos, ya que se ejecutó el código dentro de Try y no el de catch.

2
2

Ahora bien, en el código que se ejecutara si no se realiza lo de Try o sea lo de catch , muestro un simple mensaje como el anterior pero indicando lo contrario, que no se pudo conectar a la base de datos; para después terminar la ejecución de la aplicación.

Pero o sorpresa, si ejecutas tu aplicación, NO FUNCIONA, marca errores. Esto es porque

no hemos definido las variables, así que manos a la obra.

5. Dentro de public partial class Form1 : Form, la cual es la clase de la Forma 1, declararemos nuestras variables.

public SqlConnection myConnection = new SqlConnection(); public string conexion = "server=.\\SQLEXPRESS;" + "Trusted_Connection=yes;" + "database=Empresa; " + "connection

timeout=30";

Como podemos ver, en este código, indico public antes del tipo de dato, ya que deseo que

mi variable sea pública, es decir accesible en todo momento, el tipo de dato que necesito,

como ya explique antes, es SqlConnection; ya que es una conexión de SQL, y el nombre de

mi variable, que también ya se había visto, es myConnection, y dentro de ella almaceno la

función SqlConnection, la cual me servirá para poder heredar propiedades y métodos propios de este tipo de dato.

De igual manera, en la siguiente instrucción, declaro una variable pública (public) de tipo string, llamada conexion, en la cual almaceno la cadena de conexión de mi servidor u origen de datos, con sus debidos parámetros.

PARÁMETRO

 

DESCRIPCIÓN

 

Data Source o Server

 

Hace referencia al servidor de Base de datos. A este campo se le puede asignar uno de los siguientes valores:

 

El

nombre

del

equipo

servidor,

por

ejemplo:

BDEJEMPLO

 

La IP del servidor, por ejemplo: 10.10.1.1

 

La instancia del servidor de Base de Datos, por ejemplo: .\\MSSQL o bien .\\SQLEXPRESS

Initial

Catalog

o

Hace referencia a la Base de datos contenida en el Data Source indicado, debe de escribirse el nombre de la base de datos, no el nombre de la tabla.

DataBase

Autor: I.S.C. E.D. M.C.E. Ricardo de Jesús Bustamante González

Crear conexión a base de datos SQL Server

Programando con Visual C# 2008

Entre otros.

6. Ahora sí, guarda los cambios de tu aplicación, y deberás de ver si la conexión es correcta el siguiente mensaje.

de ver si la conexión es correcta el siguiente mensaje. 3 Y al dar click en
3
3

Y al dar click en el botón OK, se mostrara nuestra ventana.

Y al dar click en el botón OK, se mostrara nuestra ventana. 7. En caso contrario,

7. En caso contrario, se mostrara el mensaje siguiente:

7. En caso contrario, se mostrara el mensaje siguiente: Y al dar click en OK ,

Y

al dar click en OK, se terminara la ejecución de la aplicación.

8. hasta aquí eh terminado satisfactoriamente, la conexión de la base de datos Empresa,

Y

de SQL Server, se ha conectado a mi aplicación en Visual C# 2008. Ahora bien, antes que otra cosa, cambia la propiedad Text del Button a: “Ir al Form 2”, y en el evento Click del Button, colocaremos el código para instanciar a la siguiente Forma, la Forma 2.

Crear conexión a base de datos SQL Server

Programando con Visual C# 2008

Form2 f2 = new Form2();

f2.Show();

9. En esta instancia, cuando des click en el Button, se abrirá la segunda Forma, como se muestra a continuación.

4
4
la segunda Forma , como se muestra a continuación. 4 En Lección 2 veremos : La
la segunda Forma , como se muestra a continuación. 4 En Lección 2 veremos : La

En Lección 2 veremos: La generación de una interfaz de conectividad para la

realización de las tareas como: Loggin, Registrar Usuario, Modificar Usuario y Cerrar.

Manual Programación C#.NET Visual Studio 2010

2012

Manual Programación C#.NET Visual Studio 2010 2012 TODOS LOS LOGOS E IMÁGENES EMPLEADOS EN ESTE MANUAL,

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.

a las bases de Datos Relacionales con SQL Sever 2008. Microsoft Sync Framework es una completa

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.las tres primeras se pueden instalar con SQL Server 2008: Sync Services for ADO.NET puede utilizar

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.de datos en escenarios sin conexión y de colaboración. Sync Services para FeedSync se puede utilizar

Sync Services para FeedSync se puede utilizar para sincronizar fuentes RSS y Atom con los datos de un almacén local.de sincronización para otros tipos de almacenes de datos. Sync Services for File Systems se puede

Sync Services for File Systems se puede utilizar para sincronizar los archivos y carpetas en un sistema de archivos.fuentes RSS y Atom con los datos de un almacén local. Metadata Storage Service se puede

Metadata Storage Service se puede utilizar para almacenar los metadatos de sincronización en SQL Server Compact 3.5.los archivos y carpetas en un sistema de archivos. El resto de este tema proporciona información

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.Metadata Storage Service se puede utilizar para almacenar los metadatos de sincronización en SQL Server Compact

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

del dispositivo. Synchonization Services for ADO.NET Sync Services for ADO.NET habilita la sincronización entre

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.

de SQL Server 2000 Service Pack 4 o una versión posterior. rendimiento es elevado SQL Server

rendimiento es elevado

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

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.
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
Introducir aquí el
nombre de la base de
datos Eje: RIDO

Pantalla ejecutado al creación de la nueva base de datos

Ejecutando…
Ejecutando…

8

Manual Programación C#.NET Visual Studio 2010

2012

Base de datos “RIDO” ya creada.

Base de Datos Creada. RIDO
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

char

20

NOMBRE

char

40

APELLIDO

char

40

DIRECCION

char

60

TELEFONO

char

13

Pantalla para crear la tabla

Clic Primero en Table y luego en New Table
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.

2010 2012 Pantalla para crear la estructura de la tabla. Proceder a digitar la estructura de

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
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.

, un ejemplo, usted podrá asignarle el nombre que desee. Listo. A continuación imágenes de que

Listo. A continuación imágenes de que la tabla fue creada.

Tabla Estudiantes
Tabla Estudiantes

12

Manual Programación C#.NET Visual Studio 2010

2012

Introducción Datos en la Tabla Creada.

Studio 2010 2012 Introducción Datos en la Tabla Creada. Pasos para introducir datos en la nueva

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
Introducir los datos
en estas filas
manager. 2. Seleccionar Open Table (abrir tabla) 3. Introducir los Datos Introducir los datos en estas

13

Manual Programación C#.NET Visual Studio 2010

2012

Tabal con los datos introducidos.

Studio 2010 2012 Tabal con los datos introducidos. Tabla ya Procesada. 12-0001 LUIS MANUEL CRUZ

Tabla ya Procesada.

12-0001

LUIS MANUEL

CRUZ

809-221-3222

12-0002

BETZABEL

CRUZ

809-564-4141

12-0003

LUIS EMIL

EMIL

809-564-8989

12-0004

SAMUEL ELIAN

CRUZ MATEO

809-221-4747

12-0005

CAMIL

ALBURQUERQUE

809-731-3222

12-0006

CRISMER

CRUZ

809-456-7878

12-0007

GEORGE LUIS

CRUZ

809-123-1515

12-0008

BETSI

CRUZ

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

consultas y expandir los datos en una grilla (DataGridView) Pasos para realizar el proceso: 1.- Crear

15

Manual Programación C#.NET Visual Studio 2010

2012

2-. Agregar un origen e datos al proyecto

C#.NET Visual Studio 2010 2012 2-. Agregar un origen e datos al proyecto 2.1.- Clic en

2.1.- Clic en Nuevo Origen de Datos

C#.NET Visual Studio 2010 2012 2-. Agregar un origen e datos al proyecto 2.1.- Clic en

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

datos que se va a agregar al proyecto, en este caso una base de datos 4-.

4-. Agregar una nueva conexión de bases de datos

datos que se va a agregar al proyecto, en este caso una base de datos 4-.

17

Manual Programación C#.NET Visual Studio 2010

2012

5.- Seleccionar el tipo de conexión

Visual Studio 2010 2012 5.- Seleccionar el tipo de conexión 5.1.- Seleccionar el motor, en este

5.1.- Seleccionar el motor, en este caso SQL Server

Visual Studio 2010 2012 5.- Seleccionar el tipo de conexión 5.1.- Seleccionar el motor, en este

18

Manual Programación C#.NET Visual Studio 2010

2012

5.2.- Seleccionar el nombre del servidor,

2010 2012 5.2.- Seleccionar el nombre del servidor, 5.3.- Verificar la conexión haciendo clic en Test

5.3.- Verificar la conexión haciendo clic en Test Connection

2010 2012 5.2.- Seleccionar el nombre del servidor, 5.3.- Verificar la conexión haciendo clic en Test

19

Manual Programación C#.NET Visual Studio 2010

2012

6-. Seleccionar el nombre de la tabla, en este caso Unnatec

C#.NET Visual Studio 2010 2012 6-. Seleccionar el nombre de la tabla, en este caso Unnatec

6.1.- Hacer clic en Next

C#.NET Visual Studio 2010 2012 6-. Seleccionar el nombre de la tabla, en este caso Unnatec

20

Manual Programación C#.NET Visual Studio 2010

2012

6.2.- Hacer clic en next para salvar la conexión

Studio 2010 2012 6.2.- Hacer clic en next para salvar la conexión 7-. Clic en Finísh

7-. Clic en Finísh para finalizar el proceso

Studio 2010 2012 6.2.- Hacer clic en next para salvar la conexión 7-. Clic en Finísh

21

Manual Programación C#.NET Visual Studio 2010

2012

9-. Seleccionar la tabla o tablas y vistas

2010 2012 9-. Seleccionar la tabla o tablas y vistas Como se ve en la siguiente

Como se ve en la siguiente selección a de la tabal estudiantes

2012 9-. Seleccionar la tabla o tablas y vistas Como se ve en la siguiente selección

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

DataSource el nombre del objeto del DataSet, Estudiantes Los datos solamente se visualizan en tiempo de

Los datos solamente se visualizan en tiempo de ejecución, como se ve a continuación:

objeto del DataSet, Estudiantes Los datos solamente se visualizan en tiempo de ejecución, como se ve

23

Manual Programación C#.NET Visual Studio 2010

2012

Elementos que se colocan en el proyecto al arrastrar el DatSet

Visual Studio 2010 2012 Elementos que se colocan en el proyecto al arrastrar el DatSet Elementos

Elementos seleccionados

Visual Studio 2010 2012 Elementos que se colocan en el proyecto al arrastrar el DatSet Elementos

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

Insertar BinDinNavigator. Nos permite recorrer los registros de una tabla a través de la visualización en

25

Manual Programación C#.NET Visual Studio 2010

2012

Compendio de Prácticas

Pantalla de Captura de la Aplicación

de Prácticas Pantalla de Captura de la Aplicación using System; using System.Collections.Generic; using
de Prácticas Pantalla de Captura de la Aplicación using System; using System.Collections.Generic; using

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

Error:"+ex.Message.ToString());

}

btnGuardar.Enabled = false;

}

conectarse

a

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

ex.Message.ToString());

}

crear

consulta.

Error:"

+

}

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

Manual Programación C#.NET Visual Studio 2010

2012

}

}

}

Pantalla de la Aplicación

Manual Programación C#.NET Visual Studio 2010 2012 } } } Pantalla de la Aplicación 29
Manual Programación C#.NET Visual Studio 2010 2012 } } } Pantalla de la Aplicación 29

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

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C# | Angaroasoft's Blog

Página 1 de 16

Angaroasoft's Blog

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C#

Server 2008 Conectando Aplicación VS2010 Windows Forms C# (http://angaroasoft.files.wordpress.com/2011/06/logo.png)

(http://angaroasoft.files.wordpress.com/2011/06/logo.png)

Cuando desarrollamos aplicaciones con Visual Studio 2010, muchas veces (la mayor parte) necesitaremos que estas aplicaciones interactúen con una Base de Datos, es por ello que hoy veremos la manera de conectar nuestras Bases de Datos creadas en SQL Server 2008 Management Studio a nuestras aplicaciones.

El primer paso que debemos hacer (Ya que estamos usando una aplicación Windows Forms C# como ejemplo) una vez abierto nuestro Visual Studio 2010, es seleccionar:

Visual C# -> Windows Y seleccionamos Aplicación de Windows Forms Visual C#

En nombre escribimos el nombre que llevará nuestra aplicación (En este caso le he colocado Conexion_SQL_Server_2008), en ubicación colocamos la ruta donde almacenaremos nuestra aplicación y damos clic en Aceptar.

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C# | Angaroasoft's Blog

Página 2 de 16

Windows Forms C# | Angaroasoft's Blog Página 2 de 16 (http://angaroasoft.files.wordpress.com/2011/09/1.jpg) Al

(http://angaroasoft.files.wordpress.com/2011/09/1.jpg)

Al cargar la plataforma y aparecer el Form en pantalla, hacemos clic en Orígenes de datos lo que nos desplegará una ventana donde haremos clic en “Agregar nuevo origen de datos…

haremos clic en “ Agregar nuevo origen de datos… “ (http://angaroasoft.files.wordpress.com/2011/09/2.jpg) Esto

(http://angaroasoft.files.wordpress.com/2011/09/2.jpg)

Esto hará que aparezca la ventana del Asistente para la configuración de orígenes de datos, donde eligiremos el tipo de origen de datos, es decir de que aplicación obtendremos los datos, en este caso seleccionaremos Base de Datos y daremos clic en Siguiente

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C# | Angaroasoft's Blog

Página 3 de 16

Windows Forms C# | Angaroasoft's Blog Página 3 de 16 (http://angaroasoft.files.wordpress.com/2011/09/3.jpg) Ahora

(http://angaroasoft.files.wordpress.com/2011/09/3.jpg)

Ahora la ventana del asistente nos solicitará el Modelo de la Base de Datos que vamos a utilizar, seleccionamos Conjunto de datos y hacemos clic en Siguiente…

Conjunto de datos y hacemos clic en Siguiente… (http://angaroasoft.files.wordpress.com/2011/09/4.jpg) Esto

(http://angaroasoft.files.wordpress.com/2011/09/4.jpg)

Esto abrirá una nueva ventana donde nos mostrará varios tipos de orígenes de datos, seleccionamos Microsoft SQL Server y en Proveedor de datos seleccionamos Proveedor de datos de .NET Framework para servidor SQL Server y damos clic en Continuar

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C# | Angaroasoft's Blog

Página 4 de 16

Windows Forms C# | Angaroasoft's Blog Página 4 de 16 (http://angaroasoft.files.wordpress.com/2011/09/5.jpg)

(http://angaroasoft.files.wordpress.com/2011/09/5.jpg)

Aparecerá una nueva ventana “Agregar conexión”, donde indicaremos el nombre de nuestro servidor SQL Server 2008 al cual nos conectaremos, indicaremos el tipo de autenticación según sea el caso para conectarnos (Autenticación de Windows y/o Autenticación de SQL Server), luego en “Establecer conexión con una base de datos” en el listado indicaremos la Base de datos a la que nos conectaremos (En este caso he seleccionado Libreria)…

nos conectaremos (En este caso he seleccionado Libreria)… (http://angaroasoft.files.wordpress.com/2011/09/6.jpg)

(http://angaroasoft.files.wordpress.com/2011/09/6.jpg)

Después de seleccionar nuestra Base de datos, hacemos clic en “Probar conexión” para comprobar que hemos establecido conexión correctamente con nuestra Base de datos y que el motor está trabajando bien…

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C# | Angaroasoft's Blog

Página 5 de 16

Windows Forms C# | Angaroasoft's Blog Página 5 de 16 (http://angaroasoft.files.wordpress.com/2011/09/7.jpg) Luego

(http://angaroasoft.files.wordpress.com/2011/09/7.jpg)

Luego de comprobar que nuestra conexión está funcionando correctamente cerramos la ventana que nos indica que la prueba se realizó correctamente haciendo clic en el botón Aceptar, damos clic de nuevo en Aceptar en la ventana de conexión y esto nos llevará a la ventana donde nos preguntarán que conexión de datos deberá utilizar nuestra aplicación…

conexión de datos deberá utilizar nuestra aplicación… (http://angaroasoft.files.wordpress.com/2011/09/8.jpg)

(http://angaroasoft.files.wordpress.com/2011/09/8.jpg)

Seleccionamos la que acabamos de crear (En este caso poseidon.Libreria.dbo) y podemos ver mas abajo en cadena de conexión que nos indica que es

Data Source=POSEIDON; Initial Catalog=Libreria; Integrated Security=True

luego hacemos clic en “Siguiente” y nos aparecerá otra ventana donde nos preguntarán si deseamos guardar la cadena de conexión en el archivo de configuración de nuestra aplicación, seleccionamos la casilla y colocamos un nombre identificativo que sea facil para nosotros recordar, y damos clic en siguiente…

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C# | Angaroasoft's Blog

Página 6 de 16

Windows Forms C# | Angaroasoft's Blog Página 6 de 16 (http://angaroasoft.files.wordpress.com/2011/09/9.jpg) En la

(http://angaroasoft.files.wordpress.com/2011/09/9.jpg)

En la siguiente ventana y ya para finalizar se nos solicitará que seleccionemos los objetos de la base de datos que deseamos tener en el conjunto de datos, en este caso seleccionaremos solamente las tablas Autores y Libros, y damos clic en Finalizar…

las tablas Autores y Libros, y damos clic en Finalizar… (http://angaroasoft.files.wordpress.com/2011/09/10.jpg)

(http://angaroasoft.files.wordpress.com/2011/09/10.jpg)

Ahora que tenemos creada nuestra conexión procederemos a probarla “In Situ” con nuestra aplicación, para ello haremos clic en Cuadro de herramientas y seleccionaremos un DataGridView para probar la funcionalidad de la conexión…

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C# | Angaroasoft's Blog

Página 7 de 16

Windows Forms C# | Angaroasoft's Blog Página 7 de 16 (http://angaroasoft.files.wordpress.com/2011/09/11.jpg)

(http://angaroasoft.files.wordpress.com/2011/09/11.jpg)

Arrastramos el DataGridView a nuestro Form y le damos las medidas que deseemos, luego hacemos clic en la flecha que aparece en el lado superior derecho del DataGridView para que aparezca la ventana de tareas…

del DataGridView para que aparezca la ventana de tareas… (http://angaroasoft.files.wordpress.com/2011/09/12.jpg) En

(http://angaroasoft.files.wordpress.com/2011/09/12.jpg)

En ventana haremos clic en Elegir origen de datos donde se desplegará la lista y hacemos clic en:

Otros orígenes de datos -> Orígenes de datos del proyecto -> LibreriaDataSet -> Libros

Con esto ya tenemos conectado nuestro DataGridView y nuestra tabla “Libros” en la aplicación, ahora incluiremos un nuevo DataGridView a nuestra aplicación y la asociaremos a la tabla Autores…

SQL Server 2008 Conectando Aplicación VS2010 Windows Forms C# | Angaroasoft's Blog

Página 8 de 16

Windows Forms C# | Angaroasoft's Blog Página 8 de 16 (http://angaroasoft.files.wordpress.com/2011/09/13.jpg)

(http://angaroasoft.files.wordpress.com/2011/09/13.jpg)

Ahora procederemos a correr nuestra aplicación para comprobar que las conexiones fueron correctas y poder ver los datos almacenados en nuestras tablas…

y poder ver los datos almacenados en nuestras tablas… (http://angaroasoft.files.wordpress.com/2011/09/14.jpg) Con

(http://angaroasoft.files.wordpress.com/2011/09/14.jpg)

Con esto hemos aprendido a conectar nuestras bases de datos de SQL Server 2008 Management Studio a nuestras aplicaciones creadas en Visual Studio 2010.

Como siempre ante cualquier duda no dejen de comunicarse que con gusto les responderé.

Saludos!

Roberto Pozo

About these ads (http://en.wordpress.com/about-these-ads/)

Crear conexión a base de datos SQL Server

Programando con Visual C# 2008

a base de datos SQL Server Programando con Visual C# 2008 Objetivo: Conectar una base de

Objetivo: Conectar una base de datos SQL Server a nuestra aplicación en Microsoft Visual

C# 2008, por medio de código.

1
1

1. Para empezar, crearé una aplicación en Microsoft Visual Studio 2008, a la cual yo llamare Conexión.

2. En el primer formulario lo único que agregaré será un componente Button (Botón), tal como se ve en la siguiente imagen.

Button (Botón), tal como se ve en la siguiente imagen. 3. Supondré que esta Forma será

3. Supondré que esta Forma será el SplashScreen de nuestra aplicación, pero sin la funcionalidad del mismo. El Button me servirá para instanciar la apertura de la siguiente Forma.

4. Para llevar a cabo la conexión de mi aplicación con la base de datos, en mi caso llamada Empresa, me valdré del evento Load de la Forma, y en el colocare el siguiente código.

Try

{

 

myConnection.ConnectionString = conexion; myConnection.Open(); MessageBox.Show("Conectado a la Base de Datos: " + myConnection.Database);

}

catch

{

 

MessageBox.Show("No se pudo establecer conexion con la base de datos: " + myConnection.Database); Application.Exit();

}

En este sencillo código, estoy implementando un Try catch (yo lo llamo: Intenta esto Si falla haz esto), en donde en la primer parte estoy utilizando una variable llamada myConnection (se le puede poner cualquier nombre) la cual es de tipo SqlConnection, y que por haber sido creado de este tipo, hereda ciertos métodos y propiedades, como lo es ConnectionString; la cual almacenara, propiamente, la cadena de conexión con el Servidor

Crear conexión a base de datos SQL Server

Programando con Visual C# 2008

u Origen de datos (Data Source), conexion; es simplemente una variable tipo cadena que almacena la cadena de conexión. Open(), es un método, que permite abrir, lógicamente, la conexión de nuestra base de datos, para nuestra aplicación. Después genero un mensaje indicando que se ha conectado a la base de datos, e indico el nombre de esta en el mensaje, cabe mencionar que este mensaje no es obligatorio colocarlo, es lo para que sirva me método se aseguramiento nuestro de que ya se conectó a la base de datos, ya que se ejecutó el código dentro de Try y no el de catch.

2
2

Ahora bien, en el código que se ejecutara si no se realiza lo de Try o sea lo de catch , muestro un simple mensaje como el anterior pero indicando lo contrario, que no se pudo conectar a la base de datos; para después terminar la ejecución de la aplicación.

Pero o sorpresa, si ejecutas tu aplicación, NO FUNCIONA, marca errores. Esto es porque

no hemos definido las variables, así que manos a la obra.

5. Dentro de public partial class Form1 : Form, la cual es la clase de la Forma 1, declararemos nuestras variables.

public SqlConnection myConnection = new SqlConnection(); public string conexion = "server=.\\SQLEXPRESS;" + "Trusted_Connection=yes;" + "database=Empresa; " + "connection

timeout=30";

Como podemos ver, en este código, indico public antes del tipo de dato, ya que deseo que

mi variable sea pública, es decir accesible en todo momento, el tipo de dato que necesito,

como ya explique antes, es SqlConnection; ya que es una conexión de SQL, y el nombre de

mi variable, que también ya se había visto, es myConnection, y dentro de ella almaceno la

función SqlConnection, la cual me servirá para poder heredar propiedades y métodos propios de este tipo de dato.

De igual manera, en la siguiente instrucción, declaro una variable pública (public) de tipo string, llamada conexion, en la cual almaceno la cadena de conexión de mi servidor u origen de datos, con sus debidos parámetros.

PARÁMETRO

 

DESCRIPCIÓN

 

Data Source o Server

 

Hace referencia al servidor de Base de datos. A este campo se le puede asignar uno de los siguientes valores:

 

El

nombre

del

equipo

servidor,

por

ejemplo:

BDEJEMPLO

 

La IP del servidor, por ejemplo: 10.10.1.1

 

La instancia del servidor de Base de Datos, por ejemplo: .\\MSSQL o bien .\\SQLEXPRESS

Initial

Catalog

o

Hace referencia a la Base de datos contenida en el Data Source indicado, debe de escribirse el nombre de la base de datos, no el nombre de la tabla.

DataBase

Autor: I.S.C. E.D. M.C.E. Ricardo de Jesús Bustamante González

Crear conexión a base de datos SQL Server

Programando con Visual C# 2008

Entre otros.

6. Ahora sí, guarda los cambios de tu aplicación, y deberás de ver si la conexión es correcta el siguiente mensaje.

de ver si la conexión es correcta el siguiente mensaje. 3 Y al dar click en
3
3

Y al dar click en el botón OK, se mostrara nuestra ventana.

Y al dar click en el botón OK, se mostrara nuestra ventana. 7. En caso contrario,

7. En caso contrario, se mostrara el mensaje siguiente:

7. En caso contrario, se mostrara el mensaje siguiente: Y al dar click en OK ,

Y

al dar click en OK, se terminara la ejecución de la aplicación.

8. hasta aquí eh terminado satisfactoriamente, la conexión de la base de datos Empresa,

Y

de SQL Server, se ha conectado a mi aplicación en Visual C# 2008. Ahora bien, antes que otra cosa, cambia la propiedad Text del Button a: “Ir al Form 2”, y en el evento Click del Button, colocaremos el código para instanciar a la siguiente Forma, la Forma 2.

Crear conexión a base de datos SQL Server

Programando con Visual C# 2008

Form2 f2 = new Form2();

f2.Show();

9. En esta instancia, cuando des click en el Button, se abrirá la segunda Forma, como se muestra a continuación.

4
4
la segunda Forma , como se muestra a continuación. 4 En Lección 2 veremos : La
la segunda Forma , como se muestra a continuación. 4 En Lección 2 veremos : La

En Lección 2 veremos: La generación de una interfaz de conectividad para la

realización de las tareas como: Loggin, Registrar Usuario, Modificar Usuario y Cerrar.