Precentacion de sql visual

18
Nombre : Bryan Chacón Curso : 3 ero Bachillerato LCD:. Fabián Quilumba Materia : Diseño Y Aplicaciones Informáticas TEMA : COMO UTULIZAR SQL EN VISUAL BASIC

Transcript of Precentacion de sql visual

Page 1: Precentacion de sql visual

Nombre : Bryan ChacónCurso : 3 ero BachilleratoLCD:. Fabián QuilumbaMateria : Diseño Y Aplicaciones Informáticas

TEMA : COMO UTULIZAR SQL EN VISUAL BASIC

Page 2: Precentacion de sql visual

QUE ES VISUAL BASIC 6.0

Visual Basic es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de

programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también

la programación misma.

Page 3: Precentacion de sql visual

QUE ES SQL

El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases

de datos relacionales que permite especificar diversos tipos de operaciones en ellas. Una de sus características es el manejo del álgebra

y el cálculo relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla información de interés de bases de datos, así

como hacer cambios en ella.

Page 4: Precentacion de sql visual

SQL Y VISUAL BASIC

Aquí tienes el código completo para Visual Basic 2005 o superior y usando una base de datos de SQL Server.Para insertar los datos, te lo muestro de dos formas: usando un objeto SqlCommand y un SqlDataAdapter. Recuerda que los datos están en una base de datos de SQL Server que está en la instancia SQLEXPRESS del equipo local.

Page 5: Precentacion de sql visual

Module Module1 Sub Main() ejemploSQL() Console.ReadLine() End Sub Sub ejemploSQL() Dim sql As New AccesoDatosSQL

Dim t As Integer = sql.TotalRegistros() Console.WriteLine("El total de registros es: {0}", t) Console.WriteLine() Dim id As Integer ' Usando un command id = sql.Insertar("Guillermo", "Som", _

"[email protected]", DateTime.Now, _ "Prueba de insertar datos " & t + 1) Console.WriteLine("El nuevo ID es: {0}", id) ' Usando un dataAdapter 'id = sql.InsertarAdapter("Guillermo",

"Som", _ ' "[email protected]", DateTime.Now, _ ' "Prueba de insertar datos " & t + 1) 'Console.WriteLine("El nuevo ID es: {0}", id) ' Actualizar el ID 2 id = 2 sql.Actualizar(id, "Guillermo nº" & id, "Som", _ "[email protected]", DateTime.Now) End Sub End

Module

CODIGOS

Page 6: Precentacion de sql visual

'------------------------------------------------------------------------------ ' Instrucciones SQL desde ADO.NET con Visual Basic y SQL Server (25/May/08) ' ' ©Guillermo 'guille' Som, 2008 '------------------------------------------------------------------------------ Option Strict On Imports Microsoft.VisualBasic Imports System Imports System.Data Imports System.Data.SqlClient Public Class AccesoDatosSQL Public NombreTabla As String = "Tabla1" Public Function CadenaConexion() As String Dim csb As New SqlConnectionStringBuilder csb.DataSource = "(local)\SQLEXPRESS" csb.InitialCatalog = "prueba_SQL" csb.IntegratedSecurity = True Return csb.ConnectionString End Function Public Function Insertar(ByVal nombre As String, _ ByVal apellidos As String, _ ByVal email As String, _ ByVal fecha As DateTime, _ ByVal descripcion As String) As Integer Dim sCon As String = CadenaConexion() Dim sel As String sel = "INSERT INTO " & NombreTabla & _ "(Nombre, Apellidos, Email, Fecha, Descripcion) " & _ "VALUES " & _ "(@Nombre, @Apellidos, @Email, @Fecha, @Descripcion) " & _ "SELECT @@Identity" Using con As New SqlConnection(sCon) Dim cmd As New SqlCommand(sel, con) cmd.Parameters.AddWithValue("@Nombre", nombre) cmd.Parameters.AddWithValue("@Apellidos", apellidos) cmd.Parameters.AddWithValue("@Email", email) cmd.Parameters.AddWithValue("@Fecha", fecha) cmd.Parameters.AddWithValue("@Descripcion", descripcion) con.Open() Dim t As Integer = CInt(cmd.ExecuteScalar()) con.Close() Return t End Using End Function Public Function InsertarAdapter(ByVal nombre As String, _ ByVal apellidos As String, _ ByVal email As String, _ ByVal fecha As DateTime, _ ByVal descripcion As String) As Integer Dim sCon As String = CadenaConexion() Dim sel As String ' Usando un DataAdapter sel = "SELECT * FROM " & NombreTabla Dim da As New SqlDataAdapter(sel, sCon) da.MissingSchemaAction = MissingSchemaAction.AddWithKey Dim cb As New SqlCommandBuilder(da) Dim dt As New DataTable da.Fill(dt) Dim dr As DataRow = dt.NewRow dr("Nombre") = nombre dr("Apellidos") = apellidos dr("Email") = email dr("Fecha") = fecha.ToString("dd/MM/yyyy") dr("Descripcion") = descripcion dt.Rows.Add(dr) da.Update(dt) Return CInt(dr("ID")) End Function Public Sub Eliminar(ByVal id As Integer) Dim sCon As String = CadenaConexion() Dim sel As String = "DELETE FROM " & NombreTabla & " WHERE ID = @ID" Using con As New SqlConnection(sCon) Dim cmd As New SqlCommand(sel, con) cmd.Parameters.AddWithValue("@ID", id) con.Open() cmd.ExecuteNonQuery() con.Close() End Using End Sub Public Sub Actualizar(ByVal id As Integer, _ ByVal nombre As String, _ ByVal apellidos As String, _ ByVal email As String, _ ByVal fecha As DateTime) Dim sCon As String = CadenaConexion() Dim sel As String sel = "UPDATE " & NombreTabla & _ " SET Nombre = @Nombre, Apellidos = @Apellidos, Email = @Email, Fecha = @Fecha" & _ " WHERE ID = @ID" Using con As New SqlConnection(sCon) Dim cmd As New SqlCommand(sel, con) cmd.Parameters.AddWithValue("@ID", id) cmd.Parameters.AddWithValue("@Nombre", nombre) cmd.Parameters.AddWithValue("@Apellidos", apellidos) cmd.Parameters.AddWithValue("@Email", email) cmd.Parameters.AddWithValue("@Fecha", fecha) con.Open() Dim t As Integer = cmd.ExecuteNonQuery() con.Close() Console.WriteLine("Filas actualizadas: {0}", t) End Using End Sub Public Function TotalRegistros() As Integer Dim sCon As String = CadenaConexion() Dim sel As String = "SELECT COUNT(*) FROM " & NombreTabla Using con As New SqlConnection(sCon) Dim cmd As New SqlCommand(sel, con) con.Open() Dim t As Integer = CInt(cmd.ExecuteScalar()) con.Close() Return t End Using End Function End Class

Page 7: Precentacion de sql visual

COMPONENTES DE SQL

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.ComandosExisten dos tipos de comandos SQL: los DLL 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.

Page 8: Precentacion de sql visual

CUADRO DE COMPONENES

Comandos DLLComando Descripción

CREATE Utilizado para crear nuevas tablas, campos e índicesDROP Empleado para eliminar tablas e índices

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

Comandos DMLComando Descripción

SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio 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 especificadosDELETE Utilizado para eliminar registros de una tabla de una base de datos

 

Page 9: Precentacion de sql visual

CláusulasLas cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.

Cláusula DescripciónFROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros

WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar

GROUP BY Utilizada para separar los registros seleccionados en grupos específicosHAVING Utilizada para expresar la condición que debe satisfacer cada grupo

ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico

Page 10: Precentacion de sql visual

OPERADORES LOGUICOS

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.

Page 11: Precentacion de sql visual

Funciones de AgregadoLas funciones de agregado se usan dentro de una

cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un grupo de registros.

Función DescripciónAVG 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 especificado MIN Utilizada para devolver el valor más bajo de un campo especificado

Page 12: Precentacion de sql visual

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

In Utilizado para especificar registros de una base de datos

OPERADORES DE COMPARACION

Page 13: Precentacion de sql visual

CONSULTAS DE SELECCION

Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto record set. Este conjunto de registros es modificable.Consultas básicasLa sintaxis básica de una consulta de selección es la siguiente:SELECT Campos FROM Tabla;En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo:SELECT Nombre, Teléfono FROM Clientes;Esta consulta devuelve un record set con el campo nombre y teléfono de la tabla clientes.

Page 14: Precentacion de sql visual

ORDENAR LOS REGISTROS

Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante la clausula ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar. Ejemplo:SELECT CodigoPostal, Nombre, Teléfono FROM Clientes ORDER BY Nombre;Esta consulta devuelve los campos CodigoPostal, Nombre, Teléfono de la tabla Clientes ordenados por el campo Nombre.Se pueden ordenar los registros por mas de un campo, como por ejemplo:SELECT CodigoPostal, Nombre, Teléfono FROM Clientes ORDER BYCodigoPostal, Nombre;Incluso se puede especificar el orden de los registros: ascendente mediante la clausula (ASC -se toma este valor por defecto) o descendente (DESC)SELECT CodigoPostal, Nombre, Teléfono FROM Clientes ORDER BYCodigoPostal DESC , Nombre ASC;

Page 15: Precentacion de sql visual

Consultas con PredicadoEl predicado se incluye entre la clausula y el

primer nombre del campo a recuperar, los posibles predicados son:

Predicado Descripción

ALL Devuelve todos los campos de la tabla

TOP Devuelve un determinado número de registros de la tabla

DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente

DISTINCTROW Omite los registros duplicados basándose en la totalidad del registro y no sólo en los campos seleccionados.

Page 16: Precentacion de sql visual

3. Criterios de Selección

En el capítulo anterior se vio la forma de recuperar los registros de las tablas, las formas empleadas devolvían todos los registros de la mencionada tabla. A lo largo de este capítulo se estudiarán las

posibilidades de filtrar los registros con el fin de recuperar solamente aquellos que cumplan una condiciones preestablecidas.

Antes de comenzar el desarrollo de este capítulo hay que recalcar tres detalles de vital importancia. El primero de ellos es que cada vez que se

desee establecer una condición referida a un campo de texto la condición de búsqueda debe ir encerrada entre comillas simples; la segunda es que no se posible establecer condiciones de búsqueda en los campos memo y; la tercera y última hace referencia a las fechas. Las fechas se deben escribir siempre en formato mm-dd-aa en donde mm representa el mes,

dd el día y aa el año, hay que prestar atención a los separadores -no sirve la separación habitual de la barra (/), hay que utilizar el guión (-) y además

la fecha debe ir encerrada entre almohadillas (#).

Page 17: Precentacion de sql visual

OPERADORES LOGUICOS<expresión1> Operador <expresión2> Resultado

Verdad AND Falso FalsoVerdad AND Verdad Verdad

Falso AND Verdad FalsoFalso AND Falso FalsoVerdad OR Falso VerdadVerdad OR Verdad VerdadFalso OR Verdad VerdadFalso OR Falso FalsoVerdad XOR Verdad FalsoVerdad XOR Falso VerdadFalso XOR Verdad VerdadFalso XOR Falso FalsoVerdad Eqv Verdad VerdadVerdad Eqv Falso FalsoFalso Eqv Verdad FalsoFalso Eqv Falso VerdadVerdad Imp Verdad VerdadVerdad Imp Falso FalsoVerdad Imp Null NullFalso Imp Verdad VerdadFalso Imp Falso VerdadFalso Imp Null VerdadNull Imp Verdad VerdadNull Imp Falso NullNull Imp Null Null

Page 18: Precentacion de sql visual

El último operador denominado Is se emplea para comparar dos variables de tipo objeto <Objeto1> Is <Objeto2>. este operador devuelve verdad si los dos

objetos son igualesSELECT * FROM Empleados WHERE Edad > 25 AND Edad < 50;

SELECT * FROM Empleados WHERE (Edad > 25 AND Edad < 50) OR Sueldo = 100;

SELECT * FROM Empleados WHERE NOT Estado = 'Soltero';SELECT * FROM Empleados WHERE (Sueldo > 100 AND Sueldo < 500) OR

Provincia = 'Madrid' AND Estado = 'Casado');

http://www.monografias.com/trabajos11/manu/manu.shtml