![]() |
![]() |
| Paypal | 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 |
|