 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Dan Invitado
|
Publicado: Mar 10 Ago, 2004 5:36 pm Asunto: TQuery |
|
|
Hola.
Tengo un pequeño problema, quiero insertar,eliminar y editar registros que han sido el resultado de una consulta en un TQuery, pero cuando trato de hace un
DataSource->DataSet->Delete
ó
DataSouce->DataSet->Insert
sale un error que dice que la tabla es de solo lectura, ¿Cómo hago para solucionar el problema?.
Gracias...
 |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mie 11 Ago, 2004 4:06 pm Asunto: |
|
|
Para no tener problemas para borrar registros de un TQuery lo mejor es asegurarse de que se borran directamente del DataSet al que tenemos enlazado el TQuery. Puedes utilizar el evento AfterScroll del TQuery para asegurarte de que en cada desplazamiento de los registros del TQuery te situarás en el registro real localizado en el DataSet original ya que lo que te muestra el TQuery es una simple consulta. Por ejemplo:
En el AfterScroll del TQuery:
| Código: |
TLocateOptions opciones;
opciones.Clear();
Table1->Locate("NombreCampo","valor_buscado",opciones);
|
En "NombreCampo" debes poner el nombre del campo de tu DataSet original por el cual se realizará la búsqueda del valor (se aconseja un campo clave y único).
En "valor_buscado" el valor del campo de la consulta TQuery que intentamos localizar en el TTable.
Las opciones en este caso están despejadas.
Una vez hecho todo esto ya puedes borrar directamente el registro marcado en el TQuery pero dirigiendo el método Delete() al DataSet original, en este caso Table1->Delete(); _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|