Power Builder - Eliminar todos los registros

 
Vista:
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Eliminar todos los registros

Publicado por Mary (231 intervenciones) el 12/09/2014 06:52:54
Me cuesta eliminar todos los registros de una tabla.

Este es mi código

dw_1.reset()
dw_1.Update()

los elimina pero cuando cargo de nuevo la ventana vuelven a aparecer
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Eliminar todos los registros

Publicado por Leopoldo Taylhardat (710 intervenciones) el 12/09/2014 16:35:44
Saludos..

El reset lo que hace es limpiar el datawindow no elimina registros...
para eliminar tienes que hacer un ciclo con la instruccion deleterow....

1
2
3
4
5
6
7
long ll_row=1
do while ll_row <= dw_1.Rowcount
dw_1.Deleterow(ll_row)
ll_row++
Loop
dw_1.Update()
Commit;

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Eliminar todos los registros

Publicado por antonio (1271 intervenciones) el 15/09/2014 16:27:13
Hola Mary:

¿Porque no usas un delete por codigo?

Ejemplo 1:

Delete from nombre_tabla;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if sqlca.sqlcode = 0 then
Commit;
else
Rollback;
end if
 
Ejemplo 2:
 
Delete from nombre_tabla
where nombre_tabla.nombre_campo = 'Valor que deseas comprar';
 
if sqlca.sqlcode = 0 then
Commit;
else
Rollback;
end if
 
/* Ya borrados solo dale un Retrieve al Datawindow */

Esperote sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Eliminar todos los registros

Publicado por mary (231 intervenciones) el 15/09/2014 19:26:49
Gracias chicos, la verdad no lo sabiea pero estoy aprendiendo

Gracias nuevamente por sus respuestas chicos, se les agradece.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Eliminar todos los registros

Publicado por ochoaman (1 intervención) el 21/05/2017 19:51:11
Les comento que deben usar una variable para almacenar el tamaño de su datawindows, puesto que si no lo hacen al ir borrando los registros el dw_1.rowcount() cambia es decir se va disminuyendo por cada iteración o corrida del lazo. Otra recomendación es que el registro a borrar sea el que va quedando o actual es decir con la sentencia dw_1.getrow()

Puede quedar un codigo como el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
integer i_contador
integer i_num_reg
 
i_contador = 1
i_num_reg = dw_1.Rowcount()
do while i_contador <= i_num_reg
 
	dw_1.Deleterow(dw_1.getrow())
 
	i_contador++
 
Loop
dw_1.update()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de William

Eliminar todos los registros

Publicado por William (5 intervenciones) el 23/09/2014 16:25:53
hola

la forma de eliminar uno o muchos registros son varias, pero lo que realmente elimina o guarda los cambios en una tabla es el comando COMMIT que se coloca al final de la sentencia que utilices, por eso tanto en el ejemplo de leopoldo como en el de antonio lo indica, no debes de olvidar esta linea porque por mas simple que se vea es muy importante

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar