... 0060:char("+STR(long)+"), tot_orden real)"
0070 SQLEXEC (db)
0080 SQLPREP (db)"Insert into PRUEBA values(?,?,?)"
0090 loop:
0100 INPUT (0,LEN=4)'LF',"No.Orden> ____",@(10),ord$; IF ord$=""
OR CVS(ord$,4
0100:)="F" THEN GOTO final
0110 INPUT (0,LEN=long)"Cliente.> ",clt$; IF clt$=""
OR CTL>1 THEN GOTO loop
0120 INPUT (0,LEN=10)"Total...> ",tot; IF CTL>1 THEN GOTO 0120
0130 SQLEXEC (db)ord$,clt$,tot
0140 GOTO loop
0150 REM
0160 final:
0170 INPUT (0,LEN=1)'LF',"Quiere hacer variaciones a los registros recien
incl
0170:uidos? (ENTER=Si, 1=No): ",mant$:(""=0180,"1"=0190)
0180 RUN "upda_tab.bbx"
0190 END
El siguiente programa lee todos los registros arriba insertados y los despliega por pantalla.
0010 REM "Lista Tabla de Clientes desde BBx
0020 BEGIN
0100 SQLOPEN (1)"Cuentas por Cobrar"
0130 SQLPREP (1)"Select * from PRUEBA"
0140 LET a$=SQLTMPL(1); SQLEXEC (1)
0145 DIM r$:a$
0150 LET r$=SQLFETCH(1,ERR=final)
0160 PRINT r.num_orden$," ",r.cliente$,r.tot_orden
0180 GOTO 0150
0190 REM
0200 final:
0210 END
Este programa
utiliza la misma tabla de datos del programa anterior y permite variar el nombre
del cliente. Ahí se puede observar la forma en que definimos el campo que va
a ser variado por medio de un parámetro indicado con el signo de pregunta (?).
0010 REM "Actualiza campo en tabla de datos PRUEBA
0020 BEGIN
0040 LET db=SQLUNT; SQLOPEN (db)"Cuentas por Cobrar"
0060 REM
0070 pide_cambio:
0080 INPUT (0,LEN=4)'LF',"Dar un numero de Orden: ",orden$; IF orden$=""
THEN
0080:GOTO final
0090 SQLPREP (db)"select * from PRUEBA where num_orden='"+orden$+"'"
0100 DIM ord$:SQLTMPL(db); LET long=LEN(ord.cliente$)
0110 SQLEXEC (db)
0120 LET ord$=SQLFETCH(db,ERR=error)
0130 PRINT ord.cliente$," ",ord.tot_orden
0150 REM
0160 INPUT (0,LEN=long)"Dar nuevo nombre para el cliente:",'LF',nuevo$;
IF nue
0160:vo$="" THEN GOTO pide_cambio
0170 SQLPREP (db)"update PRUEBA set cliente=? where num_orden='"+orden$+"'"
0180 SQLEXEC (db)nuevo$
0190 GOTO pide_cambio
0200 REM
0210 error:
0220 IF ERR=2 THEN INPUT (0,SIZ=1)"No existe ",*; GOTO pide_cambio
0230 REM
0240 final:
0250 END
|