Está en la página 1de 13

Colegio Preuniversitario CAMBRIDGE

Curso: Programacin
Catedrtico: Jorge Luis Garca

Tema: CONEXIN DE UNA BASE DE DATOS CON C#

Grado:
6to. Perito contador
Nombre
Esmeralda Patricia Gmez Gmez
Clave: 2

HUEHUEENANGO DE JUNIO DE 2016

INTRODUCCIN

Conectar nuestras aplicaciones C# a una base de datos es uno de los requerimientos ms


importantes de funcionalidad en nuestros proyectos. Por eso es necesario aprender una
forma de realizar la conexin y asi aprovechar al mximo la funcionalidad de nuestros

proyectos, logrando que las aplicaciones desarrolladas demuestren todo su potencial y


eficacia en nuestro trabajo, estudio y vida diaria.

CONECTAR UNA BASE DE DATOS CON C#

Una de las tareas ms comunes para cualquier aplicacin es hacer persistente y


recuperar la informacin de una base de datos. En este caso daremos el primer paso para
lograr este fin establecer una conexin con una instancia de base de datos por medio de
cdigo fuente.

La conexin a un origen de datos se realiza fcilmente con Visual C# Express. Puede


utilizar herramientas visuales para buscar una base de datos y agregar una copia local al
proyecto. Al instalar SQL Server Compact 3.5 con Visual C# Express, podr utilizar una
base de datos de ejemplo denominada Northwind.sdf. Puede conectarse a la base de
datos Northwind mediante la ventana Orgenes de datos.

CREAR UNA CONEXIN CON SQLCONNECTION


Lo primero es crear una conexin de red entre la aplicacin y el servidor de bases de
datos. Para ello usaremos la clase SqlConnection del namespace SqlClient. Este espacio
de nombres es el encargado de gestionar los datos en SQL Server hacia
el Framework .NET. Es solo declarar un nuevo objeto de conexin similar la siguiente
linea de cdigo:
using System.Data.SqlClient;
...
SqlConnection con = new SqlConnection();
Para nuestro objeto con es de vital importancia los datos que abren la conexin, los
cuales estarn almacenados en un atributo llamado ConnectionString de tipo String. Para
establecerlo podemos usar el constructor o asignrselo luego de la inicializacin.
Veamos:

string datosConexion = "Data Source=localhost;"


+"Initial Catalog=facturacion;Integrated Security=true;";

SqlConnection con = new SqlConnection();

con.ConnectionString = datosConexion;
La cadena de conexin indica las caractersticas necesarias para la conexin. Veamos la
definicin de algunas:
Data Source: Se refiere al origen de datos, nombre del servidor o direccin donde

se encuentra la base de datos.

Initial Catalog: Es el nombre de la base de datos a la que deseamos acceder.

Integrated Security: Si usas true el ingreso a la base de datos se autentica con los
permisos del usuarios actual de Windows, si usas false, debes indicar en la cadena el
nombre de usuario(UID) y la contrasea(PWD).
Existen mas caractersticas, pero por ahora estn fuera del alcance de este articulo.
Puedes consultarlas luego por tu cuenta.
Luego de establecer la cadena de conexin procedemos a abrir la conexin hacia el
servidor con el mtodo Open():

con.Open();
Al realizar todas las operaciones sobre nuestra base de datos es importante cerrar la
conexin con el mtodo Close():

con.Close();
Otra alternativa para asegurar que la conexin se cierra es usando un bloque using en
C#:

using (SqlConnection con = new SqlConnection(datoConexion))


{
con.Open();
//Bloque de instrucciones sobre la base de datos
}
Al finalizar dicho bloque la conexin se cierra inmediatamente, liberndonos de esta
responsabilidad.

EJECUTAR UN COMANDO SQL EN C#

Buena pregunta!, para ejecutar comandos T-SQL usaremos la clase SqlCommand(hace


parte de SqlClient). Solo debemos crear una instancia de esta clase y asociar una cadena
que guarde el comando y el objeto que esta gestionando la conexin.
El atributo que guarda el texto del comando se llama CommandText y es de tipo String, lo
usaremos en el constructor del objeto comando de la siguiente forma:

SqlCommand cmd = new SqlCommand(textoCmd, con);

El primer parmetro es CommandText y el segundo la conexin asociada. Miremos el


siguiente ejemplo:

string textoCmd = "DELETE FROM CLIENTE WHERE IDCLIENTE = 1112;"


SqlCommand cmd = new SqlCommand (textoCmd,con);

Para ejecutarlo usamos el mtodo ExecuteNonQuery(), que ejecuta sentencias que no


retornan filas como INSERT, UPDATE, DELETE SET.

cmd.ExecuteNonQuery();
COMO QUEDARA TODO EL CDIGO COMPLETO?
Aadamos cada paso en orden para completar un pequeo ejemplo:

static void Main(string[] args)


{
// Paso 1 - Crear una instancia de la clase SqlConnection
string datosConexion = "Data Source = localhost;"
+ "Initial Catalog = CLIENTE ; Integrated Security = true;";

try
{
using (SqlConnection con = new SqlConnection(datosConexion))
{
//Paso 2 - Abrir la conexin
con.Open();
// Paso 3 - Crear un nuevo comando
string textoCmd = "DELETE FROM CLIENTE WHERE IDCLIENTE = 1112;";
SqlCommand cmd = new SqlCommand(textoCmd, con);
//Paso 4 - Ejecutar el comando
try
{
cmd.ExecuteNonQuery();
}
catch (SqlException e)
{
Console.WriteLine(e.Message);
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadKey();
}

Si vas a correr el cdigo recuerda cambiar los datos subrayados en amarillo por los tuyos.
Si deseas saber el nombre del servidor, abre SQL Server Management Studio y copia el
contenido del campo Nombre del Servidor que aparece antes de iniciar sesin.

EJEMPLO

1. CREAR Y CONFIGURAR APLICACIN DE CONSOLA.


Primeramente crearemos una aplicacin de consola en C# y le agregaremos un archivo
de configuracin a nuestra nueva aplicacin en donde deberemos definir la cadena de
conexin para ms informacin sobre el tema le invitamos a revisar la entrada de blog
llamada: Cadenas de conexin para SQL Server en .Net. Siguiendo la recomendacin de
la entrada de blog nuestro archivo de configuracin se vera de la siguiente forma:

Configurar cadena de conexion


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="ConexionPruebas" connectionString="Data
Source=INSTANCIA\DASEDATOS;
Initial Catalog=pruebas;Persist Security Info=False;Pwd=D3v3lop3r;User ID=sa"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Posteriormente debemos agregar una referencia al componente de .Net Framework
llamado: "System.Configuration", si necesitamos saber cmo se incluir una referencia a
nuestro proyecto podemos basarnos en su documentacin oficial.

2. ESTABLECER CONEXIN CON BASE DE DATOS.


Ahora solamente nos queda establecer la conexin a la base de datos, como hemos
definido nuestra cadena de conexin en nuestro archivo "app.config" debemos utilizar la
claseConfigurationManager para tener acceso a esta informacin y para lograr hacer la
conexin a nuestra base de datos debemos utilizaremos un objeto de la
clase SqlConnection.

En el siguiente ejemplo lo nico que realizaremos una vez establecida la conexin ser
mostrar el nombre de la instancia de SQL Server, utilizando el objecto SqlConnection, por
medio de la propiedad DataSource. El cdigo implementado se ver de la siguiente forma:

Conectarse a una base de datos con C#


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
namespace cnsConnectionDataBase
{
class Program
{
static void Main(string[] args)
{
string conexionString =
ConfigurationManager.ConnectionStrings["ConexionPruebas"].ConnectionString
;
using (SqlConnection conn = new SqlConnection(conexionString))
{
conn.Open();
Console.WriteLine("DataSource: {0}", conn.DataSource);
Console.ReadKey();
};
}
}

}
Debemos recordar incluir la siguiente declaracin: using System.Configuration;, como se
muestra en la lnea nmero 6 del cdigo fuente, en la seccin correspondiente para poder
tener acceso a la clase ConfigurationManger.

CONCLUCIN

En primera instancia se abre la conexin al servidor, luego ejecutamos comandos para


lograr mostrar los datos de una consulta en un DataGridView y finalmente la ejecucin
de procedimientos almacenados, con lo que logramos una conexin de base de datos
exitosa.

E-GRAFA

http://7sabores.com/blog/conectarse-base-datos-ms-sql-server-c
http://www.caminogeek.com/como-conectarse-a-una-base-de-datos-sql-server-c/