FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Obtener contenido de celda en DBGrid
Bueno pues tengo una base de datos llamada "Ciudadanos " en la cual hay una tabla llamada "personas" en esta tabla se muestras los campos: código, nombre, edad y genero. en la aplicación de c++ builder (utilizo el XE5) uso un DBGrid para mostrar las búsqueda de un Query.
Una vez realizada esta búsqueda y mostrado su resultado en el DBGrid, cuando se da clic derecho sobre algún registro aparece un Popup en el cual se dan las opciones de: "Modificar Usuario", "Eliminar Usuario" y "Enviar E-mail"( Esto pienso hacerlo mediante Indy SMTP ). Mi problema es que para poder modificar o eliminar un registro necesito saber en que fila fue el clic, para con ese numero de fila desplazarme hasta la columna 1 ( donde se encuentra el código ) y ahora con este valor poder ejecutar en el query la sentencia: DELETE * FROM personas WHERE idCiudadano= (el valor que recupero del DBGrid). He estado viendo algunas funciones de este pero la verdad no encuentro la forma. Para la conexión a base de datos ( La cual esta hecha en MySql ) uso: Database, Datasource, Query. Tenia en mente un codigo parecido a este: Código:
try { Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Add("DELETE * FROM personas WHERE idCiudadano='"+DBGrid1->Fields->+"'"); Query1->Active=true; if(Query1->RecordCount==0) { MessageDlg("Error al eliminar el usuario",mtError,TMsgDlgButtons()<< mbOK,0); return; } } catch(...) { MessageDlg("Error de Eliminación",mtError,TMsgDlgButtons()<< mbOK,0); return; } MessageDlg("Usuario Eliminado",mtInformation,TMsgDlgButtons() << mbOK,0); |
#3
|
|||
|
|||
Cita:
Pues la verdad es que me ha dado resultado, es increíble. De verdad te lo agradezco. |
#4
|
||||
|
||||
Hola Kannon.
También podrías hacer: Código:
void __fastcall TForm1::Button1Click(TObject *Sender) { if (MessageBox(Handle, "¿Desea eliminar el registro?","", MB_YESNO + MB_ICONQUESTION)== IDYES) { Query1->Close(); Query1->SQL->Text = "DELETE FROM PERSONAS WHERE IDCIUDADANO = :PID"; Query1->ParamByName("PID")->Value = DBGrid1->DataSource->DataSet->FieldByName("IDCIUDADANO")->Value; Query1->ExecSQL(); } }
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Contenido de una celda de un DBGRid | patxim | SQL | 8 | 24-05-2012 08:18:38 |
usar contenido de una celda DBGrid | federicorl | Varios | 4 | 16-12-2006 00:05:57 |
DBGrid. Contenido de celda en edicion | ManelC | Varios | 2 | 06-07-2006 23:01:18 |
Saber el contenido de una celda en un Dbgrid en Delphi 7 | Kivan | Varios | 2 | 30-05-2005 18:56:34 |
Acceder al contenido de una celda en un DBGRID... | Sinaloense | OOP | 2 | 22-09-2004 10:01:06 |
|