https://foro.gambas-es.org/viewtopic.php?f=3&t=2250
-----------------------------------
billgeorge
Martes, 27 Marzo 2012, 02:08

Actualizar Datos A Visualizar
-----------------------------------
buenas noches amigos....hoy vengo pedirles me colaboren con un inconveniente...

tengo una tabla a traves de la cual visualizo los datos de una base de datos sql, en form_open cargo estos datos a la misma usando

[code linenumbers=false syntax=gambas]
  cx.Begin
  rs = cx.Exec("select * from usuarios")

tabla.Columns.Count = 6
tabla.Columns[0].Text = "ID" 
tabla.Columns[0].Width = 50
tabla.Columns[1].text = "USUARIO"
tabla.Columns[1].Width = 60
tabla.Columns[2].text = "CLAVE"
tabla.Columns[2].Width = 50
tabla.Columns[3].text = "NOMBRE"
tabla.Columns[3].Width = 80
tabla.Columns[4].text = "APELLIDO"
tabla.Columns[4].Width = 100
tabla.Columns[5].text = "ASIGNATURA"
tabla.Columns[5].Width = 150

  DO WHILE rs.Available
clave = rs["id"]

tabla.Add(Clave, Clave)
tabla[Clave][1] = rs["usuario"]
tabla[Clave][2] = rs["clave"]
tabla[Clave][3] = rs["nombre"]
tabla[Clave][4] = rs["apellidos"]
tabla[Clave][5] = rs["asignatura"]

  rs.MoveNext
  LOOP 
cx.Commit
Mconex.desconectar(cx)
[/code]

el cual carga correctamente, la cuestion es que si elimino un registro efectivamente se borra de la tabla el mismo, pero quedan en desorden los id...lo que he corregido pero si vuelvo a emplear esta rutina para la visualizacion o actualizacion de la tabla sale un error que dice key already used, o si edito un registro y quiero verlo en la tabla sucede lo mismo.....

espero me puedan ayudar

atento a sus comentarios


-----------------------------------
kexxya
Martes, 27 Marzo 2012, 11:41

Re: Actualizar Datos A Visualizar
-----------------------------------
hola para que te aparezca ordenada la tabla te sugiero que agregues el texto resaltado en rojo despues de esta linea de codigo:
tabla.Add(Clave, Clave)
[color=#ff000c]tabla.Sorted = TRUE[/color]
y quizas te sale ese error porque estas repitiendo algun registro o campo o el id, muy probablemente tienes alguno de estos datos duplicado en la base de datos
espero que eso te ayude a resolver tu problema


-----------------------------------
jguardon
Martes, 27 Marzo 2012, 19:28

Re: Actualizar Datos A Visualizar
-----------------------------------
Cada vez que vuelves a cargar el control TableView o GridView debes limpiarlo antes, incluyendo las cabeceras mediante tabla.Clear. Es decir, que en la siguiente carga del Grid debes volver a ejecutar las rutinas de inicialización de las cabeceras. La forma que usas no es la más eficaz, pero si no son muchos registros puede servir. Por cierto, para ordenar los resultados de una consulta Sql lo mejor es hacerlo en la propia consulta:

[code linenumbers=false syntax=gambas]rs = cx.Exec("select * from usuarios ORDER BY clave ASC;")[/code]

La cláusula 'ORDER BY' ordena por el campo que pongas a continuación, en este caso 'clave', pero puedes hacerlo por cualquier otro. ASC significa en orden [color=#4C0000]ASC[/color]endente y lo propio para [color=#4C0000]DESC[/color]endente.

Saludos


