Creamos el procedimiento almacenado desde el cliente mysql de nuestra preferencia
DELIMITER $
DROP PROCEDURE IF EXISTS born_in_year;
CREATE PROCEDURE born_in_year( year_of_birth INT )
BEGIN
SELECT first_name, last_name, birth, death from president where year( birth ) = year_of_birth;
END $
DELIMITER ;
para ejecutarlo simplemento lo hacenmos pro medio de un query
cText = "CALL born_in_year( 1908 )"
oQry := oServer:Query( cText )
el siguiente llamdo es importante para "terminar" el proceso
oServer:NextResult()
veammos el ejemplo completo
#include "tdolphin.ch"
#define CRLF Chr( 13 ) + Chr( 10 )
PROCEDURE Main()
LOCAL cText := ""
LOCAL oQry, oServer
SET CENTURY ON
SET DATE FORMAT "dd/mm/yyyy"
D_SetCaseSensitive( .T. )
IF ( oServer := ConnectTo() ) == NIL
RETURN NIL
ENDIF
cls
cText = "CALL born_in_year( 1908 )"
oQry := oServer:Query( cText )
DolphinBrw( oQry, "Test" )
oServer:NextResult()
oQry:End()
cText = "CALL born_in_year( 1913 )"
oQry := oServer:Query( cText )
DolphinBrw( oQry, "Test" )
oServer:NextResult()
oQry:End()
cText = "call count_born_in_year( 1913, @count )"
oQry := oServer:Execute( cText )
oServer:NextResult()
oQry := oServer:Query( "select @count as count" )
? "count is:"
?? oQry:count
oQry:End()
RETURN
esto verifica que no exista otro query con resultado (por motivos de posibles multiples sentencias en los precedimeintos) y cierra el ciclo de existir otro query con resultado deberiamos hacer lo siguiente
oQry:LoadNextQuery( )
asi cargamnos automaticamente el proximo resultado de un query para multi sentencias
ejemplo de multiples sentencias
#include "tdolphin.ch"
FUNCTION Main()
LOCAL oServer, oQry
D_SetCaseSensitive( .T. )
Set_MyLang( "esp" )
IF ( oServer := ConnectTo() ) == NIL
RETURN NIL
ENDIF
oQry = oServer:Query( "select * from president; select * from student" )
DolphinBrw( oQry, "President" )
oQry:LoadNextQuery( )
DolphinBrw( oQry, "Student" )
oQry = NIL
oServer:End()
RETURN NIL
#include "connto.prg"
#include "brw.prg"
lunes, 2 de mayo de 2011
Integracion
Dolphin se ha integrado al proyecto GTXBase, Herraminetas Libres para Gente Libre
Con la iniciativa de Rafa Carmona (thefull), Riztan Gutierrez y Daniel Garcia-Gil (yo), el fuerte del proyecto es T-GTK, excelente GUI multiplataforma basado en GTK
podran ver el codigo fuente enteramente en http://www.gtxbase.org/devel/
Dolphin tiene su espacio en el foro donde podran hacer sus preguntas y sugerencias
//
Dolphin was integrated to GTXBase project, FREE Tools to FREE Peoples.
With the initial idea from Rafa Carmona (thefull), Riztan Gutierrez and Daniel Garcia-Gil (me), the "hard" point in the project is T-GTK, excelent Multiplataform GUI based in GTK libraries
all source code is available in http://www.gtxbase.org/devel/
Dolphin has your space in http://www.gtxbase.org/forums/viewforum.php?f=7
Suscribirse a:
Entradas (Atom)