Escolar Documentos
Profissional Documentos
Cultura Documentos
Visite: http://www.scribd.com/enriqueruizdiaz
15-Febrero-2010 1
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
INTRODUCCIÓN.
No es objetivo de este breve manual enseñar a programar ni explicar lo que son las bases de
datos.
Por tanto, doy por hecho que ya se poseen esos conocimientos esenciales y presento una muy
breve introducción a las herramientas que se usarán en este breve tutorial que son:
15-Febrero-2010 2
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
SQL Server es un sistema para administración de bases de datos que posee una arquitectura cliente / servidor. Utiliza el
lenguaje de consulta Transact-SQL para recibir comandos desde los clientes que se conectan a él, y ofrece una gran variedad
de herramientas y servicios para desarrollar y administrar bases de datos de distintos tamaños y complejidades.
La versión SQL Server 2005 Express Edition es gratuita y de distribución libre, liviana e ideal para utilizarla en soluciones
departamentales, prototipos y aplicaciones Web de baja complejidad. El tamaño máximo que puede llegar a tener una base
de datos es de 4 GB.
Si bien el servidor SQL Server se puede administrar desde distintas herramientas que vienen incluidas en el mismo producto.
No obstante, existe una herramienta útil para tal efecto, que es Microsoft SQL Server Management Studio Express. Esta es
una herramienta visual, lo que permite administrar los servidores SQL de manera rápida y sencilla. Esta herramienta no
viene incluida en Microsoft SQL Server 2005 Express, debe descargarse por separado.
15-Febrero-2010 3
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Bien, una vez que se tiene instaladas las tres herramientas antes citada, procedemos a crear la base de datos que se utilizará
de ejemplo. Para ello, abrimos Microsoft SQL Server Management Studio Express, y entramos con la Authentication de
Windows, según se ilustra en la siguiente figura:
15-Febrero-2010 4
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Una vez que damos clic en “Connect” entramos de lleno al Microsoft SQL Server Management Studio Express, y veremos este
entorno gráfico:
15-Febrero-2010 5
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Ahora, hagamos una carpeta de nombre “bd” sobre “C:\”, es decir, hagamos C:\bd.
A continuación en Microsoft SQL Server Management Studio Express creamos una nueva base de datos, a la cual llamemos
“clientes”, y para en el casillero de “Path” en dos dos líneas correspondientes ubicaremos nuestra base de datos “clientes” en
la carpeta previamente creada, es decir, en C:\bd. Según se ilustra a continuación.
15-Febrero-2010 6
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Sobre la base de datos “clientes”, creo una tabla llamada “nombres”, con la siguiente estructura.
15-Febrero-2010 7
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Guardamos los datos de la tabla “nombres” de la base de datos “clientes”, y salimos de Microsoft SQL Server Management
Studio Express.
En la cual, los botones tendrán los nombres respectivamente de: bt_conectar, bt_Actualizar, bt_Insertar, bt_borrar,
bt_consultar_ordenadamente y bt_salir. Además, tendremos una caja de texto de nombre tx_resultados.
15-Febrero-2010 8
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Ahora requerimos obtener una cadena de conexión a la base de datos. Para ello, recurrimos al menú data, y seleccionamos
Add New Data Source, esto en el IDE de Visual C # Express 2008.
15-Febrero-2010 9
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Ahora, en Add Connection, buscamos la base de datos clientes.mdf, que recordará se encuentra en C:\bd\. Probamos la
conexión con Text Connection, debe dar afirmativo.
15-Febrero-2010 10
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
A continuación, en Choose Your Data Connection copiamos la cadena de conexión, y cancelamos el proceso.
15-Febrero-2010 11
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Ahora, dado que para C #, el caracter ‘\’ tiene una función especial, debemos anular ese efecto agregando otro carácter de
‘\’. Por tanto la cadena de conexión queda de esta forma:
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;
using System.Data.OleDb;
using System.Data.Sql;
using System.Data.SqlClient;
15-Febrero-2010 12
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
namespace Connet_to_SQL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
……
15-Febrero-2010 13
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
En el siguiente bloque de código se hará la conexión a la base de datos, y se utilizará la consulta SELECT básica:
System.Data.SqlClient.SqlConnection con;
try
{
con.Open();
MessageBox.Show("Base de datos abierta");
15-Febrero-2010 14
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
tx_resultados.Text = "";
while (dataReader.Read())
{
tx_resultados.Text = tx_resultados.Text + dataReader["nom"] + ", " + dataReader["direccion"] +
"=====";
}
dataReader.Close();
con.Close();
MessageBox.Show("Base de datos cerrada");
}
catch (Exception Ex)
{
MessageBox.Show("Error. La base de datos no pudo ser abierta" + Ex.Message);
}
15-Febrero-2010 15
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Resultado de la ejecución:
15-Febrero-2010 16
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
UPDATE nombreTabla
SET nombreColumna1 = Valor1, nombreColumna2 = Valor2, …, nombreColumnaN = ValorN,
WHERE criterios
try
{
con.Open();
15-Febrero-2010 17
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
string commandString = "UPDATE nombres SET direccion = 'Xalapa, Ver.' WHERE nom = 'Enrique Ruiz Diaz'";
sqlCmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Base de datos cerrada");
15-Febrero-2010 18
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Inserción de un registro.
con.ConnectionString = "Data
Source=.\\SQLEXPRESS;AttachDbFilename=C:\\bd\\clientes.mdf;Integrated
Security=True;Connect Timeout=30;User Instance=True";
try
{
15-Febrero-2010 19
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
con.Open();
MessageBox.Show("Base de datos abierta ......");
string commandString = "INSERT INTO nombres (clave, nom, direccion) VALUES ('165', 'Juan
López López', 'Tierra Blanca, Ver.')";
sqlCmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Base de datos cerrada");
15-Febrero-2010 20
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
try
{
con.Open();
15-Febrero-2010 21
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
string commandString = "DELETE FROM nombres WHERE nom = 'Adelfo Perez González'";
sqlCmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Base de datos cerrada");
15-Febrero-2010 22
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Consultar ordenadamente
La forma ORDER BY es:
System.Data.SqlClient.SqlConnection con;
15-Febrero-2010 23
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
try
{
con.Open();
string commandString = "SELECT clave, nom, direccion FROM nombres ORDER BY nom ASC";
tx_resultados.Text = "";
while (dataReader.Read())
{
tx_resultados.Text = tx_resultados.Text + dataReader["nom"] + ", " + dataReader["clave"] + ", " +
"*****";
}
dataReader.Close();
15-Febrero-2010 24
Manejo de una Base de Datos Microsoft SQL Server a través de Visual C #, vía SQL. Autor: M.C. Enrique Ruiz Díaz
Resultado en pantalla:
15-Febrero-2010 25