![]() |
![]() |
| 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
|
||||
|
||||
|
egostar tiene razon, aunque he visto una propiedad llamada Requestlive (algo asi) para modificar, eliminar,..y todo lo demas.
Caral, seguro el amigo mjjj esta realizando una consulta "select", solo para ver registros, entonces trata de usar el método Delete. El Query arrojara un error porque este es solo de lectura y no de insercion como un table. Con un UpdateSql relacionado o vinculado con el Query se podria solucionar el problema, ya que UpdateSql contendria la sentencia necesaria para el borrado, en este caso "Delete...". El codigo que expones mas arrib (caral) funciona bien, pero el Query nunca te arrojaria registros para visualizar, sino para ejecutar.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
|
#2
|
||||
|
||||
|
Hola
De plano coincido tanto con el maestro Egostar como con tigo vtdeleon, pero es muy dificil evacuar una duda sin el criterio, mas o menos completo, si la duda es: Cita:
Cita:
Es muy interesante que de un problema tan sencillo se logre un aprendizaje tan bueno, me alegro mucho que me indiquen mis errores, seguro que asi algun dia sere un maestro como vosotros, bueno, casi. Saludos |
|
#3
|
|||
|
|||
|
Bueno, ya hice unas pruebas con el mentado UpdateSQL.
Imagino que nuestro amigo mjjj ya tiene un Query, un DataSource y un DbGrid. Agregamos un UpdateSQL a nuestra forma y modificamos las siguientes propiedades del Query
En un botón metemos este código
Ejecutamos nuestro programa, aqui quiero comentar algo, aunque me manda error al borrar, la linea si es borrada, debo checar porque esta pasando eso, creo que por ahi lei un comentario de roman que decia que evitaba el uso del UpdateSQL porque le parecia el lado oscuro del VCL de Delphi .Bueno, pues seguimos viendo la mejor manera de resolver este problema, por el momento debo salir. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#4
|
||||
|
||||
|
Hola
Siguiendo con esto que esta interesante, pienso que mjjj, va captando el asunto: Cita:
A una de las preguntas hechas por mjjj: El datamodule, como su nombre lo dice es el modulo donde se colocan los conectores de las bases de datos, Tables, querys entre otros, el uso del datamodule es una practica muy buena, en mi caso, lo utilizo para el conector exclusivamente, ya se, ya se. Como sabes el componente table, trae todo el contenido de un tabla a diferencia del componente query que filtra el contenido segun la sentencia sql que utilices, como bien dice el maestro vtdeleon y antes el maestro Egostar, una consulta select solo traera registros para consultar, osea verlos, en grid u otros, ahora como han dicho los maestros si la consulta sql, va a modificar una tabla, esta tendra que ser mas especifica incluso en algunos casos tomar en cuenta las llaves, los campos enlazados ect. En sintesis: Consulta con query que devuelve sin modificar, Modificar o en tu caso borrar, ojo teniendo en cuenta lo explicado por los maestros: Hago enfasis en que son dos query diferentes osea si usas el mismo programa para ver y borrar usas dos query o tambien puedes usar el text como en este caso, a esto tendrias que hacer un open denuevo. Bueno, creo que mas o menos es asi, recuerden que soy novato y nada mas trato de ayudar, bueno con poca experiencia .saludos |
|
#5
|
||||
|
||||
|
Hola,
Si los datos provienen de una sóla tabla, no es necesario usar un objeto TUpdateSQL, sino que basta poner RequestLive en true. En Paradox ni siquiera es necesario que la consulta incluya un campo llave pero imagino que dependiendo de la base que se use, pueda serlo. Da la impresión de que el compañero mjjj no ha puesto RequestLive en true pero si CachedUpdates, por ello el registro se borra localmente (en el caché), pero no en la tabla porque no aplica ApplyUpdates. Claro que si lo aplica, y RequestLive sigue en false, le marcará el mismo error al momento de hacerlo. Como yo veo las cosas- que no significa que esté bien, UpdateSQL es necesario sólo cuando de la consulta SELECT no es posible identificar unívocamente a cada registro y por tanto tiene uno que "ayudar" poniendo explícitamente la condición que lo identifique (en el UpdatSQL en este caso). // Saludos |
|
#6
|
|||
|
|||
|
Hola
Pues veo que todos los dias se aprende algo, yo siempre pense que un Query solo podia ser editable si se usaba el UpDateSQL. Pues nada, poniendo la propiedad RequestLive a True y CachedUpdates en False, pude insertar, borrar y modificar en un Query como si fuese un objeto TTable y sin usar el objeto UpdateSQL por supuesto. Sin complicaciones roman nos ha dado una buena lección. Creo que debo ponerme a leer mas la ayuda de delphi .Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#7
|
||||
|
||||
|
Ya ves, lo que uno hace por evitar usar el UpdateSQL
![]() Es que, ya en serio, yo al menos, no entiendo que se ponga este ejemplo en la ayuda de Delphi: InsertSQL:
// Saludos |
|
#8
|
|||
|
|||
|
amigos... no he podido solucionar mi problema, lo expondre nuevamente
tengo un query que hace una busqueda... select * from load.db where prensa = 'NA' ... los resultados aparecen en un dbgrid asociado. desde el dbgrid selecciono con el mouse (un click) el registro que quiero borrar... luego al apretar un boton llamado (borrar OT), quiero que el registro seleccionado se borre... eso por un lado, el otro tema que me desvela es semejante al anterior, solo que en vez de eliminar el registro lo quiero modificar en cierto campo especifico tengo la propiedad del query requestlive en true, y no funciona nose como hacerlo... se que han trato de ayudarme, espero el ultimo espujon para terminar este tema gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| error al borrar un registro | noshy | SQL | 1 | 12-05-2006 20:13:07 |
| Borrar lineas detalle al borrar registro maestro | akinom38 | Conexión con bases de datos | 3 | 11-01-2006 10:38:07 |
| borrar registro desde un query | fabian20s | Conexión con bases de datos | 2 | 25-03-2005 13:48:50 |
| Borrar e Insertar un registro de una tabla con Query | Draco | Conexión con bases de datos | 4 | 06-05-2004 17:27:37 |
| Borrar registro .mdb con ADO | Masu | Conexión con bases de datos | 3 | 23-02-2004 19:16:10 |
|