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);
Pero la verdad no encuentro la manera de poder lograrlo, les agradezco mucho por la ayuda que puedan brindarme ( soy nuevo en el foro y principiante en delphi, espero haberme explicado bien )