lunes, 19 de noviembre de 2007

The Dojo Toolkit

Otra libreria de Javascript, es realmente buenísima. Ya la he usado en algunas aplicaciones y simplemente llenan los ojos de cualquiera por los efectos y sus métodos AJAX.

The Dojo Toolkit.

Tablas temporales

Tablas que nos almacenen los datos de manera temporal (como dice el nombre, es cierto XD).

Tabla: TB_PRODUCTO
Campos: cod_pro, des_pro, precio


CREATE TABLE #TEMP (CODIGO INT,DESCRIPCION NVARCHAR(50))
INSERT INTO #TEMP(CODIGO,DESCRIPCION)
SELECT COD_PRO, DES_PRO
FROM TB_PRODUCTO
WHERE PRECIO > 1000


Bueno, es otro simple codigo que nos muestra como crear tablas temporales.

PD: Para eliminarla es simple: DROP TABLE #TEMP

Obtener el valor más alto - SQL Server 2005

Es una consulta muy común. Sin embargo, ya muchos compañeros de trabajos y amigos, que al igual que yo nos iniciamos en esto, me han pedido ayuda.

Precio mas alto.
Tabla: TB_PRODUCTO
Campos: codigo, descripcion, precio

Select TOP(1)precio
From TB_PRODUCTO
Order By precio Desc

Lo que hace el TOP es obtener solo un registro de toda la consulta. En este caso el primero. Si se pusiera TOP(5), mostraría los 5 primeros registros del "Select".

Store Procedures MySQL 5

Simple. La documentación la tienes aquí. Pero si quieres alguna repasada, acá paso algunas.

1. Store procedure que devuelve una consulta.

CREATE PROCEDURE SP_CONSULTA1()
SELECT CAMPO1, CAMPO2, CAMPO3
FROM TABLA1

Para llamar el procedimiento: CALL SP_CONSULTA1()

2. Store procedure que ingrese datos y reciba parámetros

CREATE PROCEDURE SP_INSERTAR1(IN C1 INT, IN C2 VARCHAR(20), IN C3 VARCHAR(20))

INSERT INTO TABLA1 VALUES (C1,C2,C3);

Para llamar el procedimiento: CALL SP_INSERTAR1(1,'HOLA','BYE')


Es solo un par de ejemplos, puesto que la documentación completa la encontrarán en el link mostrado al inicio.

Solo para aclarar, a diferencia del SQL Server, los parámetros no pueden tener el "@" delante de ellos pues genera error de sintaxis.

Procedures con parámetros nulos (Consultas) - SQL Server

Hace mucho tiempo se me presentó hacer Store Procedures de consultas que recibieran valores nulos. Logré hacerlo de una manera rústica, hasta ahora es la única forma que uso.

Caso Práctico.

Tenemos la tabla producto con 3 campos: cod_pro, des_pro, igv

Queremos hacer una consulta que nos liste un producto por el código y que esa misma consulta nos sirva para poder listar todos los productos, obviamente esta consulta dentro de un store procedure.

-----------------------------------------------------
CREATE PROCEDURE SP_CONSULTA
@COD_PRO INT = NULL
AS
SELECT COD_PRO, DES_PRO, IGV
FROM TB_PRODUCTO
WHERE ((@COD_PRO IS NULL) OR (@COD_PRO = COD_PRO))
-----------------------------------------------------

Y bueno, en lineas generales... en caso de recibir un parámetro lo comparará. En caso contrario irá a la condición de null y listará a todos los productos. Es una consulta simple, pero se aprecia claramente el "artificio".

AjaxAnywhere

Se trata de un proyecto muy bueno. En líneas general, nos permite recargar refrescar zonas de nuestro JSP usando la tecnología AJAX.

AjaxAnywhere

viernes, 11 de mayo de 2007

Prototype!

Esta famosísima libreria de Javascript con soporte AJAX tiene una documentación que quiza alguno no entendamos. Bueno aqui un tutorial del uso de esta librería, recomendada al 100%, es facil de encontrar en google, pero para aquel que no la ha visto aqui se las dejo

Tutorial Prototype!

viernes, 16 de marzo de 2007

mysql.sock no existe!! mi solución (Fedora Core 6)


Instalando el MySQL en el Fedora Core 6, tuve algunos problemas, como todavía soy novato en esto del Linux se sufre buscando por el Google, o el Yahoo, etc...
Bueno pues, lo que yo no sabia acerca del Fedora Core 6, es que tenia preinstalado el MySQL, pero bueno como todo novato, siempre equivocarnos nos da mucho que aprender.
En primera instancia use el yum para instalar el MySQL, los comandos clásicos:
yum install mysql
yum install mysql-server
y para buscar el query browser. lo siguiente
yum search mysql-query
en fin, lo principal son las 2 primeras lineas, el hecho es que cuando trataba de conectarme, con el simple hecho de poner en el terminal
mysql -u root
me daba un error:
ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Luego de indagar un buen rato en Internet, veo que mucha gente tenia ese problema, pero nadie me daba una solución que me funcionara, en fin.
Ya un poco desanimado un amigo me comento algo acerca del famoso SELinux, y la esperanza volvió al cuerpo jeje.
Bueno esta opción por defecto esta en Obediente, el hecho es dejarlo en Permisivo.
Esta opción esta dentro de Sistema/Administración/Nivel de Seguridad y contrafuegos.
De ahí dejé de usar el terminal y fue a agregar y quitar programas, busque en los paquetes el MySQL, y lo seleccione (ya un poco descepcionado de mi instalación a través del yum), y me instalo el MySQL y sus dependencias,
Por ultimo instalar el mysql-query browser
yum install mysql-query-browser
a travez del terminar puedes entrar a la consola del MySQL con el siguiente comando
mysql -u root
Bueno un poco feliz luego de tanto merodeo en Internet... se terminó mi calvario, solo me queda instalar el tomcat y Java jejeje

viernes, 9 de marzo de 2007

Depurador de JavaScript - FireBug!

Hace ya mas de un mes que encontré un depurador de Javascript, el cual para mi es una maravilla, como todos comencé programado para IE, cuando tenia un error en el JavaScript... venia el problema y ahora como lo depuro!!... en fin de ahí pase a firefox (ustedes saben, los problemas con los estándares de css, el FireFox lo puedo usar en Linux - multiplataforma ) que posee una consola para depurar javascript, me habia ayudado mucho, pero indagando un poco más... me encontré la maravilla el famoso FireBug... este es una extensión del Firefox y trabaja de manera excelente. Es muy intuitivo así que no hay mucho que explicar.
Les dejo el link de descarga.
http://www.getfirebug.com/

viernes, 9 de febrero de 2007

Que es un Java Server Page ó JSP?

Muchos de nosotros los programadores novatos no sabemos el porque de las extensiones jsp's de nuestras paginas, en fin a mucho solo nos dicen que usemos esa extensión por defecto. Bueno aquí una rápida explicación.
Los jsp's no son un producto sino una extensión de la tecnología Java Servlet, en si estas páginas no son interpretadas, sino compiladas, son convertidas a archivos .java y d ahí el código fuente es compilado y se crea un archivo .class, esto da la facilidad de poder usar jsp's sin servlets, que en la misma pagina podamos redireccionar o hacer otro tipo de acciones que también podríamos utilizarlas en un servlet.
Esto fue una pequeña explicación de lo que seria un Java Server Page, hay muchos libros dedicados a esto, así que si quieren ahondar lean un poco jeje.