Ver Mensaje Individual
  #1  
Antiguo 19-08-2005
LucianoRey LucianoRey is offline
Miembro
 
Registrado: feb 2004
Posts: 73
Reputación: 21
LucianoRey Va por buen camino
Procedimiento almacenado

Hola,espero me puedan ayudar, tengo el siguiente problema:

me conecto a mi base de datos (MSQLServer) por medio de Ado, mando ejecutar un procedimiento almacenado, al que le mando parametros que recoge de mi pantalla, este me genera un archivo.
Despues de esto mando ejecutar un query sobre este archivo generado, y con este mando un reporte, pero la siguiente vez que lo mando parece como si no me respetara los nuevos parametros, sin embargo voy a las tablas del servidor y el archivo generado esta bien.

Mi query esta condicionado a que el procedimiento me regrese un valor cero en su parametro de retorno, pero aun asi, el reporte me pinta la consulta anterior, entonces lo que entiendo es que el procedimiento en su parametro de retorno me indica eso, que si llego al servidor, pero no, que ya termino, pues el query se ejecuta cuando todavia no termina el procedimiento.

Quisiera entonces , si alguien puede decirme como saber cuando el procedimiento termino su ejecucion, para asi poder condicionar mi query a que se realize solo cuando haya terminado el procedimiento, pongo aqui el codigo para que, si tengo algun error me puedan corregir, saludos y gracias.

Código:
 DataModule1.ADOQuery1.Active:=(0=1);
 DataModule1.ADOStoredProc5.Active:=(0=1);
 DataModule1.ADOStoredProc5.Parameters.ParamByName('@vmesI').Value:=DBLookupComboBox7.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vmesF').Value:=DBLookupComboBox8.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vArea').Value:=DBLookupComboBox3.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vCentro').Value:=DBLookupComboBox4.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vEntidad').Value:=DBLookupComboBox5.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vBenef').Value:=DBLookupComboBox6.KeyValue;
nNumero:=1;
DataModule1.ADOQuery1.Active:=(0=1);
DataModule1.ADOStoredProc5.Active:=(0=1);
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vmesI').Value:=DBLookupComboBox7.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vmesF').Value:=DBLookupComboBox8.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vArea').Value:=DBLookupComboBox3.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vCentro').Value:=DBLookupComboBox4.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vEntidad').Value:=DBLookupComboBox5.KeyValue;
DataModule1.ADOStoredProc5.Parameters.ParamByName('@vBenef').Value:=DBLookupComboBox6.KeyValue;
nNumero:=1;
while (DataModule1.ADOStoredProc5.Parameters.ParamByName('@RETURN_VALUE').Value=Null) do
  begin
	DataModule1.ADOStoredProc5.ExecProc;
  end;
nNumero :=DataModule1.ADOStoredProc5.Parameters.ParamByName('@RETURN_VALUE').Value;
if nNumero = 0 then
  begin
   DataModule1.ADOQuery1.Active:=(0=0);
   QuickRep1.DataSet:=DataModule1.ADOQuery1;
   QuickRep1.Preview;
  end;
Responder Con Cita