Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Variable que inserta null (https://www.clubdelphi.com/foros/showthread.php?t=94876)

juggern 16-09-2020 20:26:04

Variable que inserta null
 
Buenas tardes,

Tengo el siguiente problema, a ver si me pueden orientar.

Tengo una select con campos que luego recorro usando un Fetch. En el Fetch inserto los datos que me devuelve en 2 variables que luego uso. El problema que tengo es que en una de las variables (varchar) no me inserta el dato, se queda a null.

No se porque puede ser, la consulta la he comprobado y me devuelve en ese campo una cadena. La cadena es corta , 7 caracteres y el varchar es de 50. Este procedimiento lo tengo funcionando en muchos sitios y funciona bien por lo que creo que puede ser más por alguna configuración de la tabla. No es problema de collation, lo he comprobado.

A alguien le ha pasado esto?

Muchas gracias

Al González 17-09-2020 05:12:12

¿Puedes dar un poco más de información sobre los componentes y base de datos que estás usando, la consulta SQL correspondiente y el código Delphi que se ejecuta para esta operación? Gracias.

juggern 17-09-2020 09:41:10

Buenos días,

Gracias por responder.

No uso ningún componente, es un procedimiento almacenado dentro de la base de datos de MySql.


Básicamente hago esto:

Código SQL [-]
DECLARE Alias VARCHAR (50);

DECLARE datos CURSOR FOR SELECT Nombre,Apellido,Apodo FROM datospersonales;

Open datos;

FETCH datos INTO Name, FirstName, Alias;

Es la parte resumida de un procedimiento. Esto está así desde hace mucho y funciona perfectamente pero en este caso en concreto, la variable Alias, después de la asignación, sigue teniendo null.
Las otras dos variables si que inserta el valor, pero en esta no. He comprobado la consulta y si que devuelve datos en todos los campos, por ejemplo, 'GATO'. He mirado por si tenía algún caracter raro, espacios, no se... pero nada.

Gracias

juggern 17-09-2020 12:03:13

Buenos días,

Sigo con las investigaciones y me estoy encontrando lo siguiente.

He modificado el procedimiento y puesto justo después del declare del cursor, el select que rellena el cursor él solo para ver los datos.

Hago la select del cursor fuera del procedimiento y veo que todos los datos son correctos, ejecuto el procedimiento y me muestra el resultado del select y ahí me sale el campo a null.

Es decir, si ejecuto la select fuera del procedimiento me muestra bien los datos, pero dentro del procedimiento me muestra ese campo a null.

No entiendo nada.

Un saludo


La franja horaria es GMT +2. Ahora son las 10:00:30.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi