Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Siguiendo con esto que esta interesante, pienso que mjjj, va captando el asunto:
Cita:
tengo que agregar otro query a mi form... en ese agrego las lineas SQL... el otro lo dejo tal cual??
Creo que seria conveniente explicar un poco la mecanica del uso de un query, por lo menos vasicamente, por favor corrijanme.
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,
Código Delphi [-]
Query1.Close;
Query1.sql.text:= 'select * from Tabla';
Query1.open;
Modificar o en tu caso borrar, ojo teniendo en cuenta lo explicado por los maestros:
Código Delphi [-]
Query1.Close;
Query1.sql.text:= 'Delete * from Tabla';
Query1.open;// si se quieren valores de regreso
Query1.ExecSQL;// si nada mas se quiere actualizar
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
Responder Con Cita
  #2  
Antiguo 28-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #3  
Antiguo 29-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
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
Responder Con Cita
  #4  
Antiguo 30-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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:
Código SQL [-]
INSERT INTO "Country.db"
(Name, Capital, Continent)
VALUES (:Name, :Capital, :Continent)
WHERE :OLD_Name = "Rangoon"

// Saludos
Responder Con Cita
  #5  
Antiguo 02-05-2007
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 02-05-2007
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Ya qeu intentaste lo del RequestLive, instantaste lo del SQLUpdate?'

Saludos
__________________
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!
Responder Con Cita
  #7  
Antiguo 02-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y la propiedad CachedUpdates? Porque, sobre todo siendo paradox, una consulta así debe sí o sí, ser editable.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 22:27:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi