• No se han encontrado resultados

Manejo de una Base de Datos Microsoft SQL Server. a través de Visual C #, vía instrucciones SQL.

N/A
N/A
Protected

Academic year: 2021

Share "Manejo de una Base de Datos Microsoft SQL Server. a través de Visual C #, vía instrucciones SQL."

Copied!
25
0
0

Texto completo

(1)

Manejo de una Base de Datos Microsoft SQL Server

a través de Visual C #, vía instrucciones SQL.

M.C. Enrique Ruiz Díaz.

Estoy titulado en la Maestría en Ciencias de la Computación, Misma que estudié en el Instituto Tecnológico de Orizaba, Ver, México.

(2)

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:

1)

Microsoft SQL Server 2005 Express.

2)

Microsoft SQL Server Management Studio Express.

3)

Microsoft Visual C# Express 2008

A continuación, me enfoco en la aportación importante de este tutorial que es el código que

permite manipular una base de datos SQL Server, desde un programa de C #, vía instrucciones

SQL.

(3)

Herramientas que se requieren.

4) Microsoft SQL Server 2005 Express.

5) Microsoft SQL Server Management Studio Express. 6) Microsoft Visual C# Express 2008

Microsoft SQL Server 2005 Express.

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.

Microsoft SQL Server Management Studio Express.

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

(4)

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

(5)

Una vez que damos clic en “Connect” entramos de lleno al Microsoft SQL Server Management Studio Express, y veremos este entorno gráfico:

(6)

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.

(7)

Sobre la base de datos “clientes”, creo una tabla llamada “nombres”, con la siguiente estructura.

(8)

Guardamos los datos de la tabla “nombres” de la base de datos “clientes”, y salimos de Microsoft SQL Server Management Studio Express.

Ahora, nuestro programa en Visual C # tendrá esta forma:

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.

(9)

Obtener la cadena de conexión a la base de datos.

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.

(10)

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.

(11)
(12)

Ahora, la cadena de conexión copiada tiene esta forma:

Data Source=.\SQLEXPRESS;AttachDbFilename=C:\bd\clientes.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

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:

Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\bd\\clientes.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

Codigo inicial del programa.

Note las bibliotecas necesarias para el manejo de la base de datos.

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;

(13)

namespace Connet_to_SQL {

public partial class Form1 : Form

{

public Form1() {

InitializeComponent(); }

private void bt_conectar_Click(object sender, EventArgs e) {

conexion_y_consulta_simple(); }

(14)

Conexión y consulta sencilla a la base de datos.

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:

SELECT * from nombreTabla

private void bt_conectar_Click(object sender, EventArgs e) {

conexion_y_consulta_simple(); }

private void conexion_y_consulta_simple() {

System.Data.SqlClient.SqlConnection con;

con = new System.Data.SqlClient.SqlConnection();

con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\bd\\clientes.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

SqlConnection SQLConnection = new SqlConnection();

try {

(15)

string commandString = "SELECT * FROM nombres";

SqlCommand sqlCmd = new SqlCommand(commandString, con);

SqlDataReader dataReader = sqlCmd.ExecuteReader();

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); }

(16)
(17)

Modificación a un registro de la base de datos.

En el siguiente bloque se utilizará la instrucción UPDATE, que tiene la forma:

UPDATE nombreTabla

SET nombreColumna1 = Valor1, nombreColumna2 = Valor2, …, nombreColumnaN = ValorN, WHERE criterios

private void bt_Actualizar_Click(object sender, EventArgs e) {

actualiza(); }

private void actualiza() {

System.Data.SqlClient.SqlConnection con;

con = new System.Data.SqlClient.SqlConnection();

con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\bd\\clientes.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

SqlConnection SQLConnection = new SqlConnection();

(18)

MessageBox.Show("Base de datos abierta ...");

string commandString = "UPDATE nombres SET direccion = 'Xalapa, Ver.' WHERE nom = 'Enrique Ruiz Diaz'";

SqlCommand sqlCmd = new SqlCommand(commandString, con);

sqlCmd.ExecuteNonQuery();

MessageBox.Show("La actualización se efectuó"); }

catch (Exception Ex) {

MessageBox.Show("Ocurrió un error: " + Ex.Message); }

con.Close();

MessageBox.Show("Base de datos cerrada");

(19)

Inserción de un registro.

Se usará la instrucción INSERT que tiene la forma:

INSERT INTO nombreTabla (nombreColumna1, nombreColumna2, …, nombreColumnaN) VALUES (Valor1, Valor2, …, ValorN)

private void bt_Insertar_Click(object sender, EventArgs e) {

inserta(); }

private void inserta() {

System.Data.SqlClient.SqlConnection con;

con = new System.Data.SqlClient.SqlConnection();

con.ConnectionString = "Data

Source=.\\SQLEXPRESS;AttachDbFilename=C:\\bd\\clientes.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

(20)

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.')";

SqlCommand sqlCmd = new SqlCommand(commandString, con);

sqlCmd.ExecuteNonQuery();

MessageBox.Show("La Inserción se efectuó."); }

catch (Exception Ex) {

MessageBox.Show("Ocurrió un error: " + Ex.Message); }

con.Close();

MessageBox.Show("Base de datos cerrada");

(21)

Borrado de un registro de la base de datos.

DELETE tiene esta forma:

DELETE FROM nombreTabla WHERE criterio

private void bt_borrar_Click(object sender, EventArgs e) {

borrar(); }

private void borrar() {

System.Data.SqlClient.SqlConnection con;

con = new System.Data.SqlClient.SqlConnection();

con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\bd\\clientes.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

SqlConnection SQLConnection = new SqlConnection(); try

(22)

MessageBox.Show("Base de datos abierta ...");

string commandString = "DELETE FROM nombres WHERE nom = 'Adelfo Perez González'";

SqlCommand sqlCmd = new SqlCommand(commandString, con);

sqlCmd.ExecuteNonQuery();

MessageBox.Show("El borrado de registro se efectuó."); }

catch (Exception Ex) {

MessageBox.Show("Ocurrió un error: " + Ex.Message); }

con.Close();

MessageBox.Show("Base de datos cerrada");

(23)

Consultar ordenadamente

La forma ORDER BY es:

SELECT nombreColumna1, nombreColumna2, … FROM nombreTabla ORDER BY Columna ASC | DESC

(Tenemos la opción de elegir bien ascedente o descendente).

private void bt_consultar_ordenadamente_Click(object sender, EventArgs e) {

consultar_ordenadamente(); }

private void consultar_ordenadamente () {

MessageBox.Show("nuevo");

System.Data.SqlClient.SqlConnection con;

con = new System.Data.SqlClient.SqlConnection();

con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\bd\\clientes.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

(24)

try {

con.Open();

MessageBox.Show("Base de datos abierta ...");

string commandString = "SELECT clave, nom, direccion FROM nombres ORDER BY nom ASC";

SqlCommand sqlCmd = new SqlCommand(commandString, con);

SqlDataReader dataReader = sqlCmd.ExecuteReader();

tx_resultados.Text = "";

while (dataReader.Read()) {

tx_resultados.Text = tx_resultados.Text + dataReader["nom"] + ", " + dataReader["clave"] + ", " + "*****";

}

dataReader.Close();

MessageBox.Show("La consulta ordenada, se efectuó."); }

catch (Exception Ex) {

MessageBox.Show("Ocurrió un error: " + Ex.Message); }

(25)

Referencias

Documento similar

Se llega así a una doctrina de la autonomía en el ejercicio de los derechos que es, en mi opinión, cuanto menos paradójica: el paternalismo sería siempre una discriminación cuando

De non ser así, as facturas non poderán tramitarse para o pago, e a USC, a través do responsable de asuntos económicos do centro da USC que solicitou os seus servicios Rexeitará

- Tutorías y sistemas de evaluación continua. Permanentemente se apoya y evalúa al alumno con profesores-tutores y supuestos prácticos, con la ayuda de nuestra

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Esta herramienta gratuita facilita las tareas necesarias para la gestión de Microsoft SQL Server Express, permitiendo modificar las configuraciones de la base de datos y

Al hacer consultas a la base de datos, SQL permite utilizar operaciones algebraicas 

Para este apartado se utilizará la programación en Microsoft Visual C++, se estudiará la forma más simple de conectar los datos del guante a la interfaz de