Ver Mensaje Individual
  #1  
Antiguo 07-06-2007
Avatar de zcatzz
zcatzz zcatzz is offline
Miembro
 
Registrado: dic 2006
Posts: 48
Reputación: 0
zcatzz Va por buen camino
Error: Perdio la conexion con el servidor durante el query

Hola que tal a todos!!

Aqui con un problema.. Utilizo Delphi 5 , MySql 5.0 manejador odbc, ado..
Estoy utlizando unas tablas que son sobre datos de alumnos de una escuela.

Resulta que hice un procedimiento almacenado el cual le mando una cantidad de parametros de entrada y un parametro de salida, que por cierto nunca he podido recuperar ese dato de salida, le he puesto de mil maneras pero o me marca errores o bien me da lo que es un numero grande siempre, que supongo yo es un apuntador hacia el procedimiento... lo que hace este procedimiento inserta en unas tablas los datos de un alumno y "genera" la matricula automaticamente... lo que yo necesito es ese dato de regreso para decirle al alumno cual es de hoy adelante su matricula .
La cosa es que a falta de no poder sacar el dato que necesito por medio de un parametro de salida he obtado por que al final de la ejecucion de mi adoquery (asi es como ejecuto el procedimiento almacenado) haga un select dandole como parametros todos los datos del alumno que acabo de insertar y pedirle que me de la matricula en una variable.. pero ahi es cuando al ejecutar el programa me marca error

Dice:

Lost Connection to MySql Server during query.

Corro el programa paso por paso y nada ... resulta que si le hago con F7 el programa corre sin ningun problema y realiza todo el prodimiento almacenado correctamente y el query del select matricula tambien , me regresa la matricula sin ningun problema...

Es decir que si lo corro normalmente me sale el error en la parte en que activo el query del select matricula; pero si lo hago por paso por paso no sucede ningun problema.


Aqui pongo el codigo:

Código Delphi [-]
DModulo.QGeneraMatricula.Active := false;
DModulo.QGeneraMatricula.SQL.Clear;
DModulo.QGeneraMatricula.SQL.Text :=
  'call addAlumno(@mat,:idmpio,:apat,:amat,:nombre,:fecha,:tipoal,:email,:tel,' +
  ':edo,:grado,:sexo,:matuabc,:matr,:mpiomatric)';
DModulo.QGeneraMatricula.Parameters.ParamByName('idmpio').value := fidio001.municipio.text;

...... (todos los parametros)

DModulo.QGeneraMatricula.ExecSQL;


y aqui esta el de la busqueda de la matricula:

Código Delphi [-]
DModulo.QBuscaMatricula.Active := false;
DModulo.QBuscaMatricula.SQL.Clear;
DModulo.QBuscaMatricula.SQL.Text :=
  'select matricula as m from alumnos '+
  'where id_mpio=:idmpio and apat=:apat and amat=:amat and nombre=:nombre' +
  ' and fechanac=:fecha and tipo_alumno=:tipoal '+
  ' and email=:email and tel=:tel and estadocivil=:edo and grado=:grado and sexo=:sexo';
DModulo.QBuscaMatricula.Parameters.ParamByName('idmpio').value := fidio001.municipio.text;

... (todos los parametros)

DModulo.QBuscaMatricula.active := true;
reg := DModulo.QBuscaMatricula.recordset.recordcount;
if reg > 0 then
  matricula.text := DModulo.QbuscaMatricula.fieldbyname('m').value;

Alguna sugerencia...?
__________________
Quieres tener la Razón o ser Feliz ...

Última edición por roman fecha: 07-06-2007 a las 09:02:45. Razón: Corregir etiqueta [delphi]
Responder Con Cita