Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Actualizar Datos?? (https://www.clubdelphi.com/foros/showthread.php?t=66469)

Bare 22-02-2010 03:40:25

Actualizar Datos??
 
Hola a todos, tengo esta duda...

se pueden mostrar los datos recien ingresados en un dbgrid?
tengo mi aplicacion con su base de datos, le inserto datos y los muestro en un dbgrid, pero solo me muestra los datos hasta que vuelo a abrir el programa, y lo que quiero es que me los muestre al insertarlos a la base.

le intente con el refresh que viene con el dbnavigator, pero me marcaba un error..

se puede hacer esto??




Saludos...

luisgutierrezb 22-02-2010 04:13:43

Que componenetes y que base de datos usas??, esto porque por ejemplo si son ado, puedes usar el requery, algunos otros hay que configurar el commitretaining etc...

Bare 22-02-2010 07:39:53

Que tal luis, para las consultas utilizo el adodataset, para las tablas, el adotable, mi base de datos la tengo en sql server 2005.

rgstuamigo 22-02-2010 15:38:10

Cita:

Empezado por Bare (Mensaje 354616)
Hola a todos, tengo esta duda...

se pueden mostrar los datos recien ingresados en un dbgrid?
tengo mi aplicacion con su base de datos, le inserto datos y los muestro en un dbgrid, pero solo me muestra los datos hasta que vuelo a abrir el programa, y lo que quiero es que me los muestre al insertarlos a la base.

le intente con el refresh que viene con el dbnavigator, pero me marcaba un error..

se puede hacer esto??




Saludos...

Mejor debes de hacerlo por código(para que sea automático por así decirlo) después de cada insercion, eliminacion ó edicion, tan solo debes actualizar tu DataSet tal como se indica en éste hilo en post Nro.4 ;).
Saludos...:)

Bare 22-02-2010 23:55:59

que tal, me marca el mismo error cuando quize usar el refresh dle navigator.."informacion de columna clave insuficiente para realizar la operacion update o refresh", segun lei, necesito una llave primaria en sql.


se me paso mencionar que primero inserto sumas de columnas de una tabla a otra,despues con esos datos se hacen unos calculos en la aplicacion y despues se actualizan en la tabla.

necesito que los resultados de las sumas se muestren en el grid, para que el usuario sepa a cual registro hay que hacerle el calculo.
todo funciona bien, las sumas y las actualizaciones, pero yo me baso en el gestor de sql para saber cual es el registro, pero el usuario no va a saber cual.

esto es lo que hago:

--AQUI SACO LAS SUMAS Y LAS INSERTO EN LA OTRA TABLA
Código SQL [-]
ADODataSet3->CommandText = "INSERT INTO Tabla(Casos_sospechosos_colera_est,casos_diarrea_notif_SUIVE,casos_sospechosos_coleratrat,Total_caso  s_colera,cepas_positivasvibrio,Total_muestrasproc,Deter_cloro,Total_detercloro,Año,Localidad,Evaluac  ion) SELECT SUM(Casos_sospechosos_colera_est),SUM(casos_diarrea_notif_SUIVE),SUM(casos_sospechosos_coleratrat),S  UM(Total_casos_colera),SUM(cepas_positivasvibrio),SUM(Total_muestrasproc),SUM(Deter_cloro),SUM(Total  _detercloro),'"+par1+"','"+par2+"','"+par3+"' FROM Tabla_Prueba    where Año = '"+parametro+"' AND Localidad = '"+parametro3+"'SELECT * FROM Tabla";



--AQUI ACTUALIZO LA FILA DE LAS SUMAS, QUE TIENEN EN COMUN EL AÑO Y LA LOCALIDAD


 ADODataSet5->CommandText = "  UPDATE Tabla  SET ID_coberturadeteccion = '"+ID1+"', P_coberturadeteccion = '"+P1+"',ID_tratoportuno = '"+ID2+"',P_tratoportuno = '"+P2+"', ID_eficiencialab = '"+ID3+"', P_eficiencialab ='"+P3+"', ID_cloracionagua = '"+ID4+"', P_cloracionagua = '"+P4+"'  where Año = '"+parametro+"' AND Localidad = '"+parametro3+"'SELECT * FROM Tabla";

Como ven?, no se cual columna definir como llave primaria...


Saludos..

Bare 24-02-2010 05:34:32

Listo!!
 
que tal amigos, les comento que ya solucione el problema, googleando un poco llegue a un post de este mismo foro..

http://www.clubdelphi.com/foros/showthread.php?t=19782

lo unico que hice fue cerrar y abrir el adotable, y actualizar el dbgrid...


Código:


Tabla_Anual->Close();


Tabla_Anual->Open();


DBGrid3->Refresh();


y listo, asi funciono... : D


Agradezco su atencion y ayuda amigos....

Un saludo... : D


La franja horaria es GMT +2. Ahora son las 10:08:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi