![]() |
Problemas con TQuery
Hola, el asunto es el siguiente, cuando intento insertar una registro con un TQuery me sale un error "No se puede ejecutar una accion con un Dataset cerrado", cosa que no pasa con un TTable.
El primer campo está en Nil por que es AutoIncrementable.
Si alguien sabe como hacerlo funcionar, lo agradeceré por siempre. |
Tienes que abrirlo con open; o Active := True;
|
El Componente ya está abierto, solo que lo hago en el Form.Create.
|
porque no pruebas esto:
Saludos |
Ya lo intenté y no funciona, como primera medida tengo un campo de tipo Gráfico.
pero no hay ninguna propiedad como AsGraphic. |
y porq no colocas el codigo completo de done guardas a ver que haces??
|
está tal cual, solo que en el create está el Open y despues el Post
|
sigo sin entender porq dices que el open esta en el create y lo colocas alli, porq no pruebas esto:
|
No se mucho sobre SQL y queries, pero tu problema no será más bien, por lo que estás utilizando un query y esté a su vez es solo para consultar datos y no para agregar. De todos modos recuerda que SQL ya trae sus comandos para agregar nuevos registros. Por que no utilizar otro TQuery exclusivamente para agregar u modificar registros.
|
lo que dices es cierto, pero el error viene porq el dataset no ha sido abierto apropiadamente, lo que tu piensas es cuando el error que da menciona que no se puede abrir un dataset de solo lectura
|
Tienes Razón, lo que pasa xon el Query es que la instrucción SQL es de Select, esto hace que el Query sea de solo lectura y al intentar insertar un registro salga el error de solo lectura y si borro el SQL para ejecutar la accion, aparece como DataSet Cerrado, agradeceria mucho si alguien sabe como insertar y modificar registros atravez de un TQuery.
La Idea con esto es la siguiente: Tengo Un DataModule y en este un TDataSource y un TQuery. Tengo Un Form y en este un DBGrid y los controles para insertar un registro (No son los DBControls, son los Standard), lo que quiero que que al insertar o modificar un registro se actualice automaticamente el DBGrid, si lo Hago con un TTable no ocurre ningún problema, pero con este no puedo hacer agrupamientos ni busquedas Like, ni ordenamientos especiales, por esta razón necesito un TQuery. Bueno si alguien sabe como lograrlo agradeceré enormemente su ayuda. De antemano gracias por prestar atención a este caso y por las sugerencias. |
Para que esto funcione debes colocar la propiedad RequestLive a True |
Hola
esta es la idea: No esta completa la sentencia, pero ya con esto veras como se hace. Saludos |
Gracias Caral, le verdad no sabia como hacer el Insert Into teninedo un campo autoincremetable, gracias a todos por su colaboración.
|
La franja horaria es GMT +2. Ahora son las 09:30:48. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi