FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Volver a Incrementar y asignar a un DBtext
Hola Nuevamene con un problema que no puedo visualizar.
Bueno En un formulario tengo varios dbText pero hay uno (txt_codigo). Cuando ingreso por primera vez al formulario me muestra el ultimo codigo incrementado en 1 mediante un SP , y lleno todo lso DBTEXT y cuando le digo registrar me lo graba todo bien en la Tabla pero cuando le pregunto resp2 := Application.MessageBox('Deseas Registrar a Otro Cliente','Mantenimiento',MB_YESNO+MB_ICONINFORMATION); me sale Project Proyecto_Clienes.exe raised exception class EIBClientError with message 'use Open for a Select Statement'. Process Stopped. Use Step o Run........ Le mando el codigo resp2 := Application.MessageBox('Deseas Registrar a Otro Cliente','Mantenimiento de Clientes',MB_YESNO+MB_ICONINFORMATION); if resp2=6 then begin DM_Conexiones.IBTransaction1.Commit; DM_Conexiones.IBT_Clientes.Active := True; DM_Conexiones.IBT_Clientes.Last; DM_Conexiones.IBT_Clientes.Insert; DM_Conexiones.IBQuery1.SQL.Clear; DM_Conexiones.IBQuery1.SQL.Add('SELECT num_sig FROM CODI_INCRE1'); DM_Conexiones.IBQuery1.ExecSQL; txt_codi.Text := DM_Conexiones.IBQuery1.ParamByName('num_sig').AsString; txt_nomb.SetFocus end else begin DM_Conexiones.IBT_Clientes.Last end Donde puede estar el Error ???????????? Gracias y Saludos a la Comunidad. |
#2
|
|||
|
|||
Es por la forma en la que ejecutas el Query, deberias de hacer esto
Código:
DM_Conexiones.IBQuery1.ExecSQL; |
#3
|
||||
|
||||
Saludos
Quizas no resuelva tu problema, pero...
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 03-06-2005 a las 02:37:29. |
#4
|
|||
|
|||
Me explico mejor lo que pasa que esta consulta
DM_Conexiones.IBQuery1.SQL.Add('SELECT num_sig FROM CODI_INCRE1'); lo tengo en modo de diseño, y esta consulta lo paso al txt_codi.Text el valor de la consulta.(esto es la inicio y no tengo problemas). Pero cuando esa consulta esta en modo de ejecucion obtengo ese errros Pero la consulta es un Procedimieto almacenado es decir CREATE PROCEDURE CODI_INCRE1 RETURNS ( NUM_SIG VARCHAR(10)) AS begin num_sig = 'CLI' || CAST(gen_id(siguiente_codigo,0)+1 AS VARCHAR(7)); suspend; end CREATE TRIGGER CODIGO_CLIENTE FOR CLIENTES ACTIVE BEFORE INSERT POSITION 0 AS begin new.codi_cli = 'CLI' || CAST(gen_id(SIGUIENTE_CODIGO,1) AS VARCHAR(7)); end CREATE GENERATOR SIGUIENTE_CODIGO; SET GENERATOR SIGUIENTE_CODIGO TO 1009; Todo esto me lo hace bien al momento de ingresar un cliente(por ejemplo CLI1020) pero cuando quiero ingresar otro usuario(CLI1021) alli es donde no lo obtengo (PARECIERA QUE NO LO LLAMARA EN TIEMPO DE EJECUCION AL PROCEDIMIENTO) y me sale ese error Project Proyecto_Clientes.exe raised exception class EIBClientError with message 'use Open for a Select Statement'. Process Stopped. Use Step o Run........ Bueno espero que me puedan Ayudar. Gracias y Saludos |
#5
|
||||
|
||||
Hola,
Creo que dieron en el clavo con esto... Cita:
Saludos.
__________________
"Es imposible hacer un programa 100% contra tontos, ya que éstos son muy ingeniosos"
|
#6
|
|||
|
|||
Si lo cambien pero me sigue saliendo el mismo Error. Sera acaso del Trigger???? Que no se incrementa en uno despues de ingresar otro Cliente??????????????'
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|