3 messages in com.mysql.lists.mysql-esFUNCION PARA VB6
FromSent OnAttachments
Ing. Francisco Reinoso28 Mar 2008 10:38 
Grover Campos A.28 Mar 2008 11:05 
MARIO BENAVIDES JURADO28 Mar 2008 12:07 
Subject:FUNCION PARA VB6
From:Ing. Francisco Reinoso (fran@gmail.com)
Date:03/28/2008 10:38:07 AM
List:com.mysql.lists.mysql-es

Hola, por favor quisiera ayuda acerca de un problema que tengo: Dispongo de varias Bases de Datos en MySQL de carácter reservado y con el fin de no permitir a los usuarios realizar cualquier consulta a las mismas, quisiera implementar un procedimiento o función que me devuelva una tabla en VB6. Es decir por ejemplo yo pasaría como parámetro un código de usuario y me sería devuelto un Recordset con los campos y sus valores. He logrado realizar una función que me retorna una cadena de texto conteniendo todos los valores de los campos para lo cual he usado CONCAT. Les envío ambas porciones de código y muchas gracias de antemano.

VB6

DB.OpenConnection "servidor", "usuario", "password", "procedures", 3306

If DB.State = MY_CONN_OPEN Then

Set Tx = DB.Execute("SELECT datos('1708563653')")

If Tx.RecordCount > 0 Then

Datos = Tx.Fields(0).Value

End If

Tx.CloseRecordset

DB.CloseConnection

End If

MySQL

DELIMITER $$

DROP FUNCTION IF EXISTS `procedures`.`datos` $$

CREATE DEFINER=`root`@`localhost` FUNCTION `datos`(ced CHAR(10)) RETURNS TEXT(512) CHARSET latin1

READS SQL DATA

BEGIN

DECLARE datos TEXT(512);

SELECT CONCAT(nombre, ‘*’, fechanac, ‘*’, conyuge, ‘*’, idactilar) INTO datos FROM registro_civil.datos WHERE cedula = ced;

RETURN datos;

END $$

DELIMITER ;

No virus found in this outgoing message. Checked by AVG. Version: 7.5.519 / Virus Database: 269.21.0/1348 - Release Date: 28/03/2008 10:58