Fecha: 17-01-2019
Profesor: Arturo Florián
Ciclo:_III__ Turno:__Mañana___
Tema : Revisión de mandatos T-SQL y Conexión a una BD SQL Server
Revisión de T-SQL SQL SERVER
1.2 Comandos
Existen dos tipos de comandos SQL:
los DDL que permiten crear y definir nuevas bases de datos, campos e índices.
los DML que permiten generar consultas para ordenar, filtrar y extraer
datos de la base de datos.
Comandos DDL
Comando Descripción
CREATE Utilizado para crear nuevas tablas, campos e índices
DROP Empleado para eliminar tablas e índices
Utilizado para modificar las tablas agregando campos o cambiando la definición
ALTER
de los campos.
Comandos DML
Comando Descripción
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 especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos
Curso : Desarrollo de Soluciones Empresariales Pág. 2
1.3 Cláusulas
Las cláusulas son condiciones de modificación utilizadas para definir los datos que
desea seleccionar o manipular.
Cláusula Descripción
FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros
Utilizada para especificar las condiciones que deben reunir los registros que se
WHERE
van a seleccionar
GROUP
Utilizada para separar los registros seleccionados en grupos específicos
BY
HAVING Utilizada para expresar la condición que debe satisfacer cada grupo
ORDER Utilizada para ordenar los registros seleccionados de acuerdo con un orden
BY específico
Operador Uso
Es el "y" lógico. Evalua dos condiciones y devuelve un valor de verdad sólo si
AND
ambas son ciertas.
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdar si alguna
OR
de las dos es cierta.
NOT Negación lógica. Devuelve el valor contrario de la expresión.
Operadores de Comparación
Operador Uso
< Menor que
> Mayor que
<> Distinto de
<= Menor ó Igual que
>= Mayor ó Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores.
LIKE Utilizado en la comparación de un modelo
Utilizado para especificar registros de una base de datos
In
Curso : Desarrollo de Soluciones Empresariales Pág. 3
Aplicación
Ejecutar el Sql Management Studio de Microsoft SQL Server 2016. Crear la BD
denominada sistemacont que contiene las siguientes tablas:
-Utilizar los mandatos SQL : CREATE DATABASE, CREATE TABLE,……etc
Conexiones Ado.Net
Conceptos Generales: En muchas ocasiones nos hemos preguntado cómo es posible
las conexiones y cuantas veces puedo hacer una, la respuesta es sencilla, las
codificaciones de Visual .Net con respecto a este tema con muy cortas, es decir solo
es suficiente tener la cadena de conexión lista para que inmediatamente tengamos
una conexión directa con la base de datos (SQL) y realizar las transacciones
necesarios en un proyecto basado en Visual Net.
Curso : Desarrollo de Soluciones Empresariales Pág. 5
Curso : Desarrollo de Soluciones Empresariales Pág. 6
PROGRAMANDO EL FORMULARIO.
Formulario Clase Form1
using System.Data.SqlClient;
namespace ProyConexion
{
public partial class Form1 : Form
{
SqlConnection CN = new SqlConnection("Data Source=.;Initial catalog=sistemacont;uid=sa;pwd=123");
private void BtnConectar_Click (….) {
CN.Open();
if (CN.State == ConnectionState.Open)
MessageBox.Show("Conexion Estalecida con Exito");
else
MessageBox.Show("Error al Conectar");
}
private void BtnDesconectar_Click(….) {
CN.Close();
if (CN.State == ConnectionState.Closed)
MessageBox.Show("Conexion Cerrada con Exito");
else
MessageBox.Show("Error al Cerrar");
}
Inicio de Sesión: sa
ACLARACIONES:
Inicialmente importamos el Espacio de nombres que corresponde al Proveedor de
Datos (DATA PROVIDER) de Microsoft, para conectarnos a Sql Server , mediante
Curso : Desarrollo de Soluciones Empresariales Pág. 8
using System.Data.SqlClient;
En el form Class definimos la cadena de conexión, con todas las
características acerca de la misma, más no su apertura.
El botón conectar solo invitara a SQL a conectarse a su entorno, usando el
método OPEN, toda conexión debe ser verificada, por esa razón se usa el
método STATE que verifica el estado de la conexión, los estados pueden ser:
“ConnectionState.Open” o “ConnectionState.Closed” (Abierto o
Cerrado). Y los mensajes respectivamente.
DESVENTAJAS:
Que pasaría si en la ejecución de este formulario, presiono dos o mas veces
el botón CONECTAR ?, lo lógico es que obtengamos un error, ya que no nos
podemos conectar otra vez (estaríamos usando la misma cadena de
conexión 2 veces), por que existe una conexión aun vigente o abierta, es
decir, la ya se abrió antes.
El botón DESCONECTAR puede ser usado muchas veces ya no solo
desconecta.
SOLUCION:
Agregar la siguiente línea al código del botón CONECTAR.
CN.Open();
btnConectar.Enabled = false;
if (CN.State == ConnectionState.Open)
MessageBox.Show("Conexion Estalecida con Exito");
else
MessageBox.Show("Error al Conectar");
Agregar la siguiente línea al código del botón DESCONECTAR.
CN.Close();
if (CN.State == ConnectionState.Closed)
{
btnConectar.Enabled = true;
MessageBox.Show("Conexion Cerrada con Exito");
}
else
MessageBox.Show("Error al Cerrar");
using System.Data.SqlClient;
namespace ProyConexion
{
public partial class Form2 : Form
{
public SqlConnection CN2= new SqlConnection();
Primer Procedimiento (Conectar 2 parámetro de entrada usuario y clave )
public void Conectar(string usuario, string clave)
{
if (CN2.State == ConnectionState.Closed)
{
CN2.ConnectionString = Server=(local);Database=sistemacont;uid=sa;pwd=123";
//Abrir la conexion
CN2.Open();
if (CN2.State == ConnectionState.Open)
MessageBox.Show("Conexion Estalecida con Exito..!!");
else
MessageBox.Show("Error al Conectar..!!");
}
}
Segundo Procedimiento (Desconectar) Sin Párametros.
public void DesConectar()
{
if (CN2.State == ConnectionState.Open)
{
CN2.Close();
if (CN2.State == ConnectionState.Closed)
MessageBox.Show("Conexion Cerrada..!!");
}
else
MessageBox.Show("No se Hizo una Conexion..!!");
}
AHORA VOLVAMOS AL FORMULARIO Y PROGRAMAREMOS LOS BOTONES
CONECTAR Y DESCONECTAR.
Private Sub BtnConectar_Click
'Aquí solo se le envia los parametros de usuario y clave
Conectar("sa", "123");
Private Sub BtnDesconectar_Click
DesConectar();
ACLARACIONES:
Curso : Desarrollo de Soluciones Empresariales Pág. 10
Este estará codificado con la declaración de una variable pública sobre el proyecto
llamado CN3, y aparte dos procedimientos (CONECTAR2 y DESCONECTAR2) el
primero de ellos llevará parámetros de entrada, observe el código en la siguiente
tabla:
Imports System.Data.SqlClient
Module Module2
'Aqui se define la variable publica
Public CN3 As New SqlConnection
Public Sub Conectar2(ByVal Usuario As String, ByVal Clave As String)
Try
If CN3.State = ConnectionState.Closed Then
CN3.ConnectionString = "Server=(local);" + _
"Database=sistemacont;Uid='" + Usuario + _
"';Password='" + Clave + "';"
' abrir conexión
CN3.Open()
If CN3.State = ConnectionState.Open Then
MsgBox("Conexion Establecida..!")
End If
End If
Catch Excep As SqlClient.SqlException
' si se produce algun error,
' lo capturamos mediante el objeto
' de excepciones particular para
' el proveedor de SQL Server
MessageBox.Show("Error al conectar con datos" & _
ControlChars.CrLf & _
Curso : Desarrollo de Soluciones Empresariales Pág. 11
ACLARACIONES:
Aquí se están agregando dos nuevos objetos al proyecto: un nuevo formulario
(form3) y un módulo (Modulo3), como observaremos empezamos a programar
el modulo, aquí definimos una variable publica CN3, es decir la variable de
conexión podrá ser usada en todo el proyecto, por cuantos formularios tenga
el proyecto, esta podrá ser utilizada sin prejuicios.
'Declaracion de Variable Public sobre el proyecto
Public CN3 As New SqlConnection
En el módulo existen dos procedimientos CONECTAR2, este usara dos
parámetros de entrada (el usuario , el password y el nombreBD de tipo
cadena) el segundo procedimiento llamado DESCONECTAR2 solo permitirá
desconectarse de la base de datos. No usa parámetros.
Public Sub Conectar2(ByVal Usuario As String, ByVal Clave As String)
Public Sub DesConectar2()
Por ultimo los botones CONECTAR y DESCONECTAR solo hacen las llamadas de los
procedimientos y enviando los parámetros para que se conecte a la BD master de
SQL Server.