Algunas consideraciones básicas cuando tenemos que utilizar comandos y
funciones SQL en nuestro desarrollo cotidiano como código TRANSACT y Visual
Basic.
SQL desde Visual Basic
Existen dos tipos de consultas SQL: las consultas de selección (nos
devuelven datos) y las consultas de acción (aquellas que no devuelven ningún
registro). Ambas pueden ser tratadas en Visual Basic pero de forma diferente.
Las consultas de selección se ejecutan recogiendo la información en un
recordset previamente definido mediante la instrucción openrecordset(), por
ejemplo:
Dim SQL as String
Dim RS as recordset
SQL = "SELECT * FROM
Empleados;"
Set RS=MiBaseDatos.OpenRecordSet(SQL)
Si la consula de selección se encuentra almacenada en una consulta de
la base de datos:
Set
RS=MiBaseDatos.OpenRecordset("MiConsulta")
Las consultas de acción, al no devolver ningún registro, no las
podemos asignar a ningún recordset, en este caso la forma de ejecutarlas es
mediante los métodos Execute y ExecuteSQL (para bases de datos ODBC), por ejemplo:
Dim SQL as string
SQL = "DELETE * FROM
Empleados WHERE Categoria = 'Ordenanza';"
MiBaseDatos.Execute SQL
Funciones de Visual Basic
utilizables en una Instrucción SQL
Función Sintaxis Descripción
Now Variable= Now Devuelve la fecha y la hora
actual del sistema
Date Variable=Date
Devuelve la fecha actual del sistema
Time Variable=Time Devuelve la hora actual del sistema
Year Variable=Year(Fecha)
Devuelve los cuatro dígitos correspondientes al
año de Fecha
Month Variable=Month(Fecha)
Devuelve el número del mes del parámetro fecha.
Day Variable=Day(Fecha)
Devuelve el número del día del mes del parámetro
fecha.
Weekday Variable=Weekday(Fecha) Devuelve un número entero
que representa el día de la semana del parámetro fecha.
Hour Variable=Hour(Hora) Devuelve un número entre 0
y 23 que representa la hora del parámetro Hora.
Minute Variable=Minute(Hora)
Devuelve un número entre 0 y 59 que representa los minutos del parámetro hora.
Second Variable=Second(Hora)
Devuelve un número entre 0 y 59 que representa los segundos del parámetro hora.
DatePart
Esta función devuelve una parte señalada de una fecha concreta.
Sintaxis:
DatePart(Parte, Fecha, ComienzoSemana, ComienzoAño)
Parte representa a la porción de fecha que se desea obtener, los
posibles valores son:
Valor Descripción
yyyy Año
q Trimestre
m Mes
y Día del año
d Día del mes
w Día de la
semana
ww Semana del año
h Hora
m Minutos
s Segundos
ComienzoSemana indica el primer día de la semana. Los posibles valores son:
Valor Descripción
0 Utiliza el
valor pode efecto del sistema
1 Domingo (Valor
predeterminado)
2 Lunes
3 Martes
4 Miércoles
5 Jueves
6 Viernes
7 Sábado
ComienzoAño indica cual es la primera semana del año; los posibles valores son:
Valor Descripción
0 Valor del
sistema
1 Comienza el
año el 1 de enero (valor predeterminado).
2 Empieza con la
semana que tenga al menos cuatro días en el nuevo año.
3 Empieza con la
semana que esté contenida completamente en el nuevo año.
Validar ciertas
condiciones antes de ejecutar una consulta.
La Función IIF.
Sintaxis:
IIF(Expresion,Valor1,Valor2)
En donde Expresión es la
sentencia que evaluamos; si Expresión es verdadera entonces se devuelve Valor1, si Expresión es falsa se
devuelve Valor2.
SELECT * Total FROM Empleados
WHERE Apellido =
IIF(txtApellido.Text
<> '', txtApellido.Text, *)
Muestra una consulta condicionando el valor
del control llamado txtApellido, si tenemos un valor en la casilla devuelve
todos los empleados cuyo apellido coincida con el texto de la casilla, en caso
contrario se devuelven todos los empleados.
SELECT Fecha, Producto,
Cantidad,
(IIF(CodigoUbigeo=’14’,'LIMA','Nacional'))
AS Destino FROM Pedidos
Esta consulta devuelve los campos Fecha,
Nombre del Producto y Cantidad de la tabla pedidos, añadiendo un campo al final
con el valor LIMA si el código ubigeo correspondiente, en caso contario
devuelve Nacional.
No hay comentarios:
Publicar un comentario
Sus comentarios son bienvenidos...