Problemas de nuevo
Epa panas, tengo un problema trabajando con delphi 5, mi proveedor de BD es AS400, tengouna rutina para hacer select grandes, mas de 255 caracteres, tengo que hacerlos fraccionados, el problema es que cuando trato de usar la sentencia SQL de nuevo da un error. si alguien me puede ayudar se lo agradesco, aqui estoy poniendo el codigo y el error :
"Project cadivi_platinium.exe raised exception class EDBEngine error with message 'inknown internal operating system error.'. process stopped. use or run to continue" y el codigo es el siguiente if (nu_reg = 25) then begin prueba:= TQuery.Create(self); with prueba do begin DatabaseName := 'qwert'; Close; UnPrepare; sql.clear; sql.add('select s.nu_rif, s.nu_cadivi, p.tx_nombre, s.mt_soli,p.tp_pago from soli s, pimp p where s.nu_soli = p.nu_soli and nu_cadivi in '); sql.add(' (02546025,02596282,02598001,02600040,02617583,02622689,02628792,02629732,02638452,02639729,02647063, 02647222,02648068,02658368,02667740,02699870,02727455,02727591,02740999,02754777,02759470,02794618,0 2798378,02799152,02811602)'); Prepare; open; end; graba_rx; prueba.sql.CleanupInstance; prueba.Destroy; end; Espero la respuesta de un guru jejejejje |
Hola kcbb
Creo que ayer dieron Roman y Bicho la respuesta a esto pero creo que tu problema se soluciona asi: Osea separando los caracteres, no se si con este otro serviria tambien: En este ultimo los maestros te podrian dar su opinion. Otra cosa usa las etiquetas para que el codigo se entienda mejor Saludos |
Hola, yo personalmente lo hago así:
Usando la propiedadad text lo que me evito es tener que limpiar con sql.clear antes de añadir la nueva sentencia. No se cuan correcto esté esto, pero a mi siempre me ha dado resultado. Saludos Yusnerqui. |
Cita:
Normalmente se usa el método Add para clarificar el código y quizás más por gusto que otra cosa. Saludos |
Hoy no dejo de repetir lo que dice Lepe, pero es que hay que darle la razón :p
Al usar la propiedad SQl.Text, estás haciendo una asignación, con lo cual borras el contenido anterior y te quedas con el que le has asignado. Pero personalmente siempre uso el SQL.Add, para clarificar, comodidad y costumbre. Por otro lado, kcbb no ha comentado si le ha ido bien. Yo intuyo que los tiros no van por ahí, porque esta linea del SQL no llega a los 255 carácteres Cita:
Esperamos tu respuesta para saber que ha sido al final. Saludos |
Di con el problema, segun lo que me imagino, y me jefe igual.
estaba migrando informacion de 3 BD diferentes a una 4ta BD, resulta que las conexiones con las otras BD me estaban consumiendo la memoria, la solucion fue crear el objeto, usarlo y destriurlo. Por si a alguien mas le sirve, gracias a las personas que respondieron a mi inquitud |
La franja horaria es GMT +2. Ahora son las 08:05:02. |
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