Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Ayuda con Interbase-Delphi (https://www.clubdelphi.com/foros/showthread.php?t=46301)

rruffino 28-07-2007 01:49:02

Ayuda con Interbase-Delphi
 
Hola amigos, estoy usando delphi 7 e interbase 6.5. He realizado un procedimiento almacenado que me genera comprobantes para los usuarios que cumplan cierta condición. El problema es que si ejecuto el procedimiento almacenado directamente desde el ib manager, me realiza la cantidad correcta de comprobantes, que son unos 1760. Ahora, si lo hago desde delphi, me genera solamente 1300. Me he fijado de llamarlo con los mismos parametros y nada, desde delphi solamente genera esa cantidad. Hasta aqui, he probado de todo, hasta regenere la base de datos y nada. Hace lo mismo en toda circunstancia. Alguna sugerencia???
Desde ya muchas gracias.!!!:rolleyes:

eduarcol 28-07-2007 02:58:47

Cita:

Empezado por rruffino
Alguna sugerencia???

}

Muestra codigo

rruffino 30-07-2007 21:40:48

Gracias
 
Gracias por la respuesta, el tema del codigo es bastante largo, y se divide en varios procedimientos. Me llama la atencion de que desde delphi no larga ningun error, es mas, el proceso finaliza correctamente, pero siempre me realiza el mismo numero de calculos. He revisado de deshabilitar algunos clientes que ingresan en el proceso de calculo, y lo que hace es rellenar con los que no calculaba antes hasta completar los exactos 1302 calculos. Me desorientó. Por ahi pensaba que este calculando y no guardando pero no se, se me helaron las ideas.
Si me sigues ayudando te lo agradecere!!!
Saludos, Román.-

D-MO 30-07-2007 22:09:01

Dudo mucho que sin aportar algo de código alguien encuentre el problema y te dé una solución.

Slaudos.

eduarcol 31-07-2007 04:52:37

Cita:

Empezado por rruffino
Si me sigues ayudando te lo agradecere!!!

Pues me encantaria pero mis poderes de adivino lamentablemente los deje, si no pones algo del codigo problematico dudo mucho que yo o cualquiera de algunas ideas

rastafarey 01-08-2007 18:52:01

Resp
 
Si quieres asegurarte que se están ejecutando con los mismos parámetros simplemente al inicio del mismo lanzar una excepción con lo valores que le están entrando y asi te aseguras que los parámetros son los mismo ejecútelo desde delphi, c, c++, ibexpert, emsquick desk o desde donde sea.

Código SQL [-]
declare procedure ....
as
begin
  exception "msg"'campo1 = '||:c1||' campo2 = '||:c2;
end
msg es una excepción vacia

rruffino 03-08-2007 03:23:54

Excepción
 
Gracias rastafarey por la respuesta. Indicame como hacer eso de la excepción, pues he intentado copiar la linea y me da error de que el campo1 no lo reconoce. Probe cambiar campo1 por un parametro de entrada de mi procedimiento, pero asi mismo me dice que no lo reconoce. Tengo que definir esa execpion???? Disculpa que las preguntas sean tan torpes, pero de excepciones no hje visto nada aún. Saludos y gracias!

gmontes 03-08-2007 04:27:49

lo mismo me sucedia a mi al checar una sentencia en el IbExpert y compararla con delphi.

sucedio que al utilizar el editor sql de ibexpert y declarar los campos parametros, ibexpert se encarga de solicitar el valor y en delphi los tenemos que sustituir por valores o campos string. mi error estaba en el valor que tenian los campos string al momento de la sustitucion, un espacio de sobra o al inicio u otro caracter.

rruffino 03-08-2007 16:26:59

No me sale
 
Bien muchachos, entiendo a medias. Voy a tratar de ponerlo mas claro.
Si al procedimiento almacenado lo ejecuto desde el sqlmanager me realiza 1700 calculos, en cambio si desde delphi invoco al mismo procedimiento con los mismos parametros, me genera 1300. Sinceramente no entiendo como hacer el tema de la excepxion, si desde delphi o con el sqlmanager. Hasta donde chequee tengo todo normal. Bueno, gracias por su preocupación y ayuda.
Saludos!

StartKill 03-08-2007 17:21:01

Procedure no ejecuta igual
 
Saludos,

rruffino, si te sirve de algo, alli va:

Hace un tiempo tube el mismo problema, en un momento pensé que mi interbase estaba fallado y lo reinstalé, pero nada todo seguia igual...

Se me ocurrió crear otro programa que llame al procedure y funcionó, entonces pense que mi programa original se habia dañado, pero no era eso, en uno de los eventos de mi formulario hace una contraoperacion :(, eso era mi problema.


rruffino, te sugiero que crees otro formulario (Programa nuevo) y llames a ese procedimiento y veas los resultados.

Ojo no cortes y pegues vuelve a generar otro proyecto

Saludos
Your Friend:cool:

StartKill
Lima-Peru

rastafarey 07-08-2007 19:33:57

Resp
 
Los campos que te coloque son unos de ejemplo creo que debes sustituirlos por los de tu procedimiento o disparador. hubiera sido mucha casualidad que te funcionara.


La franja horaria es GMT +2. Ahora son las 01:30:02.

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