Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Problema borrando registros ><

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Problema borrando registros >< Responder citando

Hola, antes que nda saludos a todos, llevo tiempo leyendo el foro pero es mi primer mensaje ^^

Buen el problema es al eliminar registros de una tabla. Tengo un DBGrid, y tengo que eliminar el registro correspondiente a la fila seleccionada cuando pulso un boton.

Tengo un TDataBase, el TTable correspondiente (TFamilias) y el DataSource cre que bien configurados.

El código del evento onClick del botón que he escrito es:

TFamilias -> Edit();
TFamilias -> Delete();
TFamilias -> Post();

El problema es que el pulsar sobre el boton de "Eliminar" me sale un mensaje "DataSet not in edit or insert mode", y luego se borra el registro :S

No se supone que preparo la tabla para el borrado con la orden TFamilias -> Edit()?. Por favor si alguien sabe lo que pasa que me eche una manita, gracias Smile
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Cita:

TFamilias -> Edit();
TFamilias -> Delete();
TFamilias -> Post();


Bien, lo que sucede que para borrar un registro sólo necesitas abrir el DataSet, en este case tu tabla, y ejecutar el método Delete(). No es necesario ni Edit() ni Post(), estos métodos se utilizan si necesitas modificar la información y posterirormente guardarla.

Lo que tu código hace es lo siguiente:

Cita:

TFamilias -> Edit(); // Pones tu tabla en Modo edición
TFamilias -> Delete(); // Borras registro
TFamilias -> Post(); // Guardas


Por lo que al ejecutarse la instrucción Post, se espera que el DataSet este en modo de Edición o de Insert, y al no estar en ninguno de estos modos se envía una excepción. El modo que adopta después de que ejecutas la instrucción Delete es el Browse.

Te recomiendo el siguiente libro, es muy bueno, y una gran referencia sobre el manejo de BD con C++ Builder, se llama La Cara Oculta de C++ Builder de Ian Marteens

http://www.marteens.com/caraoculta.htm

Y la liga directa es...

http://www.classiquecentral.com/dscb4.zip

Saludos!!!
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Muchas gracias!! ya funciona perfectamente, de todas formas voy a descargasr el libro ya que la aplicación que estoy haciendo es fundamentalmene BDs.

Bueno ya tengo una buena guía de referencia de Builder, gracias ^_^
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.