Problema:
Se intenta revisar el valor que trae un registro que se acaba de guardar, no se le asigna un valor a un campo Fecha en la inserción ya que tiene configurada en la tabla como valor predeterminado un CURRENT_TIMESTAMP, lo que se requiere es que al momento de insertarlo se verifique que:
1) Es un registro nuevo (no se le puso fecha y se toma el CURRENT_TIMESTAMP)
2) En caso de que tenga asignado una fecha diferente a la actual no tomarlo en cuenta para un segundo proceso.
3) Se usará un trigger BEFORE INSERT
Solución.
if (cast(New.Fecha as date) = curdate()) or New.Fecha is null or NEW.Fecha = '0000-00-00 00:00:00' then
//Proceso en caso de ser nuevo o fecha actual
end if
El error que tenía antes de encontrar ésto era que suponía que si no se declara un valor en el campo Fecha entraba al trigger con valor NULL, lo cual es incorrecto ya que trae un valor de '0000-00-00 00:00:00' y éste no lo había considerado en la sentencia de evaluación.
Programación y Fotografía
Chuchu el programador y cabachu el fotógrafo
lunes, 8 de junio de 2015
sábado, 24 de agosto de 2013
Ejecutando programas externos desde .Net
Dada la necesidad de ejecutar un programa hecho en Java desde consola usando .Net con Visual Basic me puse un poco a investigar dada mi falta de experiencia en eso. Después de no mucho tiempo (2 minutos) encontré la solución resolviendo el problema de "ocultar" la ventana MS-DOS que aparece al ejecutar el programa:
Dim proceso As New System.Diagnostics.ProcessStartInfo 'Colocamos la ruta del programa a ejecutar, o comando proceso.FileName = "java" 'Agregamos los parámetros de ejecución Dim argumentos As String = "-jar ejecuta.jar" proceso.Arguments = Argumentos 'Ponemos las condiciones para que se oculte la ventana al invocar el proceso proceso.WindowStyle = ProcessWindowStyle.Hidden proceso.CreateNoWindow = True 'Iniciamos el proceso en un nuevo hilo Process.Start(proceso)Ojalá les sirva para sus proyectos
sábado, 20 de julio de 2013
¿Qué intentaba arreglar cada lenguaje de programación?
Tomado de mundogeek.net
En su artículo What Languages Fix, Paul Graham, autor de Hackers & Painters
y fundador de Y Combinator
examinaba hace unos años algunos de los lenguajes de programación más
conocidos desde una óptica interesante: los problemas que sus creadores
intentaban solucionar al crearlos.
Hoy me he vuelto a encontrar con este texto y he dedicado unos
minutos a traducirlo y a crear una representación gráfica en forma de
línea de tiempo que podéis ver a continuación.
martes, 16 de julio de 2013
Modelo de cajas en CSS
Traducción de boxmodel:
Todos los elementos HTML son considerados como cajas. En CSS, el término "modelo de caja" o "box model" es usando al hablar del diseño y bosquejo.
El model de caja CSS es esencialmente una caja que se muestra alrededor de elementos HTML, el cual consiste de: márgenes, bordes, relleno y el contenido,
El modelo de caja nos permite colocar un borde alrededor de los elementos y espacio en relación a otros elementos.
El modelo se puede ver como la siguiente imagen:
Todos los elementos HTML son considerados como cajas. En CSS, el término "modelo de caja" o "box model" es usando al hablar del diseño y bosquejo.
El model de caja CSS es esencialmente una caja que se muestra alrededor de elementos HTML, el cual consiste de: márgenes, bordes, relleno y el contenido,
El modelo de caja nos permite colocar un borde alrededor de los elementos y espacio en relación a otros elementos.
El modelo se puede ver como la siguiente imagen:
Donde:
Margen (Margin): Es el espacio alrededor del borde. El margen no tiene color de fondo, es completamente trasnparente.
Borde (Border): Es el espacio alrededor del relleno y del contenido. El borde es afectado por el fondo de la caja.
Relleno(Padding): Es el espacio alrededor del contenido. El relleno es afectado por el color de fondo de la caja.
Contenido(Content): Es el contenido de la caja, donde se muestran las imágenes y el texto.
lunes, 15 de julio de 2013
Menú circular
Buscando ideas para crear un menú para la página www.llacuadetetique.com me topé con ésta bonita idea, la cual es crear un menú circular:
Donde el código para ponerlo en nuestra web la podemos encontrar en: codigo
miércoles, 10 de julio de 2013
Borrado de triggers de una base de datos mysql
En ocasiones cuando creamos triggers para llevar a cabo tareas inmediatas desde la base de datos y creamos triggers, sucede que después de un tiempo (1 semana) se nos olvida el nombre de los triggers creados.
Éste problema conlleva a que si necesitamos subirlos de nuevo o simplemente borrarlos no podemos hacerlo hasta recordar el nombre (si es que nos acordamos).
Una forma rápida de ver que triggers tenemos y de obtener la consulta para borrarlos es la siguiente:
select concat('drop trigger ', trigger_name, ';') from information_schema.triggers where trigger_schema = 'your_database'
donde your_database es sustituido por el nombre de la base de datos donde se encuentran los triggers.
Obtenido de http://stackoverflow.com
Como resultado nos dara los sqls necesarios para borrar los triggers que tenemos o en su caso para ver sus nombres.
Podemos ejecutar éste sql desde consola de Mysql o desde el PhpMyAdmin.
Como resultado nos dara los sqls necesarios para borrar los triggers que tenemos o en su caso para ver sus nombres.
Podemos ejecutar éste sql desde consola de Mysql o desde el PhpMyAdmin.
Suscribirse a:
Entradas (Atom)