Lectura secuencial en una tabla de sql

96 views
Skip to first unread message

programadorbi

unread,
Aug 30, 2021, 10:42:04 AM8/30/21
to MundoBBx
Saludos compañeros,

Tengo una tabla con los datos de clientes y necesito extraer datos de otra tabla. La lectura de la primera tabla empieza bien hasta que leeo la otra tabla, pierdo la secuencia de la primera tabla.

Alguno me puede ayudar con un ejemplo de como leer una segunda tabla sin perder la secuencia de la primera.

Les agradezco su ayuda.

José Aguilar

unread,
Aug 30, 2021, 1:07:56 PM8/30/21
to MundoBBx
Hola ProgramadorBI,

Favor enviar un código de ejemplo de cómo lo estás haciendo, para ofrecerte sugerencias sobre lo que ya tienes avanzado.

Saludos cordiales,

Administrador MundoBBx

--
Has recibido este mensaje porque estás suscrito al grupo "MundoBBx" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundobbx+u...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/mundobbx/f28241e0-254b-4835-aa45-715f82afb7cdn%40googlegroups.com.

programadorbi

unread,
Aug 31, 2021, 9:45:23 AM8/31/21
to MundoBBx
Hola aAdministrador,
Este es un programa pequeño de ejemplo de lo que necesito,

0010 BEGIN                                                                     
0100 REM 100 "APERTURA DE BASE DE DATOS                                        
0110 LET MODE$="UID=user",PWD=Pass*"                                           
0120 LET BASE=SQLUNT; SQLOPEN (BASE,MODE=MODE$)"Sistemas"; LET GUI=UNT; OP 
0120:EN (GUI)"X0"                                                              
0130 LET SQL$="SELECT Clave,Conse,Deta,Por,Mon FROM Cli_Confi"                 
0140 SQLPREP (BASE)SQL$                                                        
0150 SQLEXEC (BASE)                                                            
0160 DIM DATO$:SQLTMPL(BASE)                                                   
0170 LET DATO$=SQLFETCH(BASE,ERR=FINAL)                                        
0175 PRINT DATO.CLAVE$,"  ",DATO.CONSE$,; INPUT *                              
0180 LET LLAVE$=DATO.CLAVE$+DATO.CONSE$                                        
0190 LET SQL1$="INSERT into Cli_Ini (Llave,Deta,Por,Nom) VALUES ("+"'"+LLAVE$+ 
0190:"' '"+DATO.DETA$+"' '"+DATO.POR$+"' '"+DATO.MON$+"')"                     
0200 SQLPREP (BASE)SQL$; SQLEXEC (BASE)                                        
0210 GOTO 0170                                                                 
0220 REM FINALES DE LECTURA                                                    
0230 FINAL:                                                                    
0240 ESCAPE                                                                    

Te agradezco cualquier ayuda,

Carlos E. Toral R.

unread,
Aug 31, 2021, 10:36:22 AM8/31/21
to mund...@googlegroups.com
Buen día Programadorbi

Tienes que abrir otro canal para escribir en la tabla Cli_Ini.

Saludos,

progra Bbx

unread,
Sep 1, 2021, 7:07:02 PM9/1/21
to mund...@googlegroups.com
Buenas, abri el otor canal y no me graba nada


Oscar Brenes A.

unread,
Sep 1, 2021, 7:19:18 PM9/1/21
to mund...@googlegroups.com
Lo que debes hacer, es abrir un canal sql para leer, otro canal para lecturas varias, y otro para insertar o actualizar. Así no pierdes la lectura secuencial.


0010 BEGIN                                                                     

0100 REM 100 "APERTURA DE BASE DE DATOS                                        

0110 LET MODE$="UID=user",PWD=Pass*"                                           

0120 LET BASE=SQLUNT; SQLOPEN (BASE,MODE=MODE$)"Sistemas"; LET GUI=UNT; OP 


0121 LET BASE_INS=SQLUNT; SQLOPEN (BASE_INS,MODE=MODE$)"Sistemas"           

0130 LET SQL$="SELECT Clave,Conse,Deta,Por,Mon FROM Cli_Confi"                 

0140 SQLPREP (BASE)SQL$                                                        

0150 SQLEXEC (BASE)                                                            

0160 DIM DATO$:SQLTMPL(BASE)                                                   

0170 LET DATO$=SQLFETCH(BASE,ERR=FINAL)                                        

0175 PRINT DATO.CLAVE$,"  ",DATO.CONSE$,; INPUT *                              

0180 LET LLAVE$=DATO.CLAVE$+DATO.CONSE$                                        

0190 LET SQL1$="INSERT into Cli_Ini (Llave,Deta,Por,Nom) VALUES ("+"'"+LLAVE$+ 

0190:"' '"+DATO.DETA$+"' '"+DATO.POR$+"' '"+DATO.MON$+"')"                     

0200 SQLPREP (BASE_INS)SQL$; SQLEXEC (BASE)                                        

progra Bbx

unread,
Sep 1, 2021, 8:04:16 PM9/1/21
to mund...@googlegroups.com
Muchas gracias Oscar, ya esta funcionando.

Carlos E. Toral R.

unread,
Sep 1, 2021, 8:06:16 PM9/1/21
to mund...@googlegroups.com
Si te fijas en la línea 200, el sqlprep del insert lo tienes con el canal BASE_INS y el sqlexec lo tienes con el canal BASE, y debe ser con BASE_INS. Prueba y veras que te tiene que funcionar, no te está grabando porque la sentencia insert nunca se ha ejecutado con el canal BASE_INS.

Saludos,

Sent from my iPhone

On 1 Sep 2021, at 19:07, progra Bbx <progra...@gmail.com> wrote:


Reply all
Reply to author
Forward
0 new messages