Actualizar Datos A Visualizar


Objetivo: 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

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)


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

Perfil MP  
Objetivo: 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)
tabla.Sorted = TRUE
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

Objetivo: 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:

rs = cx.Exec("select * from usuarios ORDER BY clave ASC;")


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 ASCendente y lo propio para DESCendente.

Saludos

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.224s (PHP: -51% SQL: 151%)
Consultas SQL: 29 - Debug off - GZIP Activado