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 20-08-2007
speter speter is offline
Registrado
 
Registrado: ago 2007
Posts: 3
Poder: 0
speter Va por buen camino
dbgrid para actualizar

Hola a todos los del foro!!!!

Ya habia participado antes, pero ahora tengo una duda(sigo siendo novato), alguien me podria decir como puedo actualizar una tabla, en la cual primero antes de actualizar uso un query de busqueda el cual despliega los datos dentro de un dbgrid, y dentro de este mismo quiero poder alterar su contenido y volver a guardar el contenido(actualizar).
Estoy usando SQL server 7, supongo que tengo que usar ALTER, pero no se como guardar los datos desde dbgrid

Bueno de antemano Gracias por el momento
Responder Con Cita
  #2  
Antiguo 20-08-2007
krlosrp krlosrp is offline
Miembro
 
Registrado: ago 2007
Posts: 18
Poder: 0
krlosrp Va por buen camino
Guardar cambios en una query.

Hola, si quieres guardar cambios directamente usando una Query, pon a true la propiedad RequestLive. Esto funcionará solo si incluyes una sola tabla en la sentencia SQL. (si no usas join) y seleccionas todos los campos.

Saludos.
Responder Con Cita
  #3  
Antiguo 20-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola speter
Para actualizar una tabla con un Query este tiene que contener todos los registros y en tal caso de actualizar mas de una tabla a la vez, este query tiene que tener incluidos los campos clave, si no, no actualizara.
Sin mayor problema se puede usar un Componente DBNavigator, este ya hace todo lo que se necesite.
Hay muchas formas, uncluidas las value, para actualizar, hay que pensar en lo que se quiere hacer.
Siempre es bueno proporcionar codigo, asi se ven mejor las cosas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 21-08-2007
speter speter is offline
Registrado
 
Registrado: ago 2007
Posts: 3
Poder: 0
speter Va por buen camino
Bueno, agradesco lo que dice krlosrp, pero hay algo raro en la propiedad... en el query no me sale esa propiedad(uso delphi version 7), y tambien habia pensado en usar el dbnavigator, tal vez paresca muy terco, pero lo que pienso hacer es que por medio de la sentencia UPDATE(me equivoque en el post anterior), en la cual su sintaxis es esta:

Código SQL [-]
UPDATE "nombre_tabla"
SET "columna_1" = [nuevo valor]
WHERE {condición}


Donde anteriormente pense en hacerlo de esta manera:

Código SQL [-]
UPDATE Alumnos
SET Nombre_alumno = :nombreAl
WHERE No_folio = :miVariableFolio

He venido haciendo esto pero con las otras sentecias(INSERT INTO y SELECT), estos comandos los habia ejecutado con las variables que uso dentro del programa, por ejemplo esta consulta(este codigo lo tengo en propiedad SQL del adoquery):

Código SQL [-]
SELECT No_cuenta , Nombre_alumno,Apellido_alumnoP,Apellido_alumnoM,sexo,status,Grupo FROM alumnos
WHERE Nombre_alumno=:nom1

En donde 'nom1' es la referencia que uso del dato en el programa, por medio del comando que Caral puso en un tutorial para nosotros los novatos(muchas gracias Caral!)

Código Delphi [-]
 q1.Parameters.ParamByName('nom1').Value:= edit1.Text;

y en este caso pienso que puedo hacer lo mismo con el comando UPDATE, pero la duda es:
Ahora, digamos que despues de hacer una consulta ya me despliega la informacion en el dbgrid, en mi caso digamos que quiero cambiar el nombre del alumno, hago doble click en el dbgrid y lo modifico y al momento de guardarlo usar la misma tecnica que he usado, en otras palabras que pueda pasar el registro del campo del dbgrid 'alumno' a una variable string y poder hacer esta linea de codigo:

Código Delphi [-]
q1.Parameters.ParamByName('nombreAl').Value:= miVariable;
//q1 es el nombre del adoquery que uso

En donde 'miVariable' contiene el nombre que escribi en el dbgrid y entonces ahora si, escribir el codigo sql:

Código SQL [-]
UPDATE Alumnos
SET Nombre_alumno = :nombreAl
WHERE No_folio = :miVariableFolio

Esto es solo un prototipo que he pensado para actualizar "a pie", tengo la seguridad de que servira, pero no se como sacar el dato del dbgrid y ponerlo en una variable string
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
Actualizar DBGrid con ADO manu Conexión con bases de datos 8 18-09-2007 02:20:29
Problemas para actualizar ADO con Dbgrid con puro Codigo JanoRod Conexión con bases de datos 5 25-08-2005 18:29:32
Actualizar un DBGrid MaJeSTiC Varios 5 05-08-2004 20:02:35
actualizar un DBGrid Salomon Conexión con bases de datos 0 28-01-2004 11:33:52
Actualizar Query-Dbgrid Walter SQL 5 13-06-2003 05:21:58


La franja horaria es GMT +2. Ahora son las 19:38:42.


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