Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-03-2008
Buelos Buelos is offline
Miembro
 
Registrado: jun 2007
Posts: 51
Poder: 17
Buelos Va por buen camino
Unhappy modificar registros query

hola a todos les agradezco me puedan brindar su colaboracion en un tema que ya lleva tiempo que no puedo solucionar y eh tratado de buscar por todos lados documentacion acerca del tema pero no me ah servido de mucho, sucede que tengo en mi aplicacion una tabla estudiantes que tiene login y contraseña y deseo que el usuario pueda cambiar el login asociado, para esto utilizo la clausula update de sql para modificar el login del usuario, el codigo que utilizo es el siguiente.

procedure modificardatos();

begin

//form4.Query2.Open;
form4.Query2.RequestLive:=true;
form4.Query2.ExecSQL;
form4.Query2.ParamByName('login1').AsString:= form4.Edit6.Text;
form4.Query2.ParamByName('nuevo').AsString:= form4.Edit3.Text


end;

y la consulta sql en el query 2 es la siguiente


UPDATE ESTUDIANTES
SET LOGIN = nuevo
WHERE LOGIN = : login1

aun asi al ejecutar el procedimiento me dice siempre que hay un error en login1 por favor les agradezco infinitamente su colaboracion ya que esto metiene barado hace dias.
Responder Con Cita
  #2  
Antiguo 01-03-2008
Buelos Buelos is offline
Miembro
 
Registrado: jun 2007
Posts: 51
Poder: 17
Buelos Va por buen camino
Red face Error

se me olvidaron los dos puntos en una linea
en realidad la tengo asi
UPDATE ESTUDIANTES
SET LOGIN = : nuevo
WHERE LOGIN = : login1
Responder Con Cita
  #3  
Antiguo 01-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
form4.Query2.RequestLive:=true;
form4.Query2.ParamByName('login1').AsString:= form4.Edit6.Text;
form4.Query2.ParamByName('nuevo').AsString:= form4.Edit3.Text;
form4.Query2.ExecSQL;
Saludos
Responder Con Cita
  #4  
Antiguo 01-03-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola Buelos,
Veo por ahora dos errores:

1. Los parámetros se identifican por dos puntos y sin espacios. Es decir:

Código SQL [-]
Update ESTUDIANTES
set Login = :nuevo
where Login = :login1

Pero esto posiblemente deje una inconsistencia (¿Que pasa si dos usuarios tienen el mismo Login?), lo más habitual, y lógico, es filtrar por el identificador del usuario:

Código SQL [-]
where Login = :login1 and id = :id_usuario

2. La asignación de los parámetros deben ir antes de la orden ExeqSQL.

Por otro lado te pediría que por favor emplearas las etiquetas DELPHI y SQl según sea el caso.

Y disculpa que te pregunte, pero... ¿que es Login? ¿El campo de la contraseña? Esto te lo pregunto porque tu dices esto:

Cita:
sucede que tengo en mi aplicacion una tabla estudiantes que tiene login y contraseña y deseo que el usuario pueda cambiar el login asociado
Hay algo de ese texto que no logro entender.

Por ahora veo eso.
Espero que nos comentes tus novedades.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 01-03-2008 a las 03:36:06.
Responder Con Cita
  #5  
Antiguo 01-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Yo ceo que por "login" se refiere a lo que tú llamas id_usuario. Vamos que Delphius es tu login como keyboy es el mio y Buelos el de él. Y claro, no puede haber dos "login" iguales, así que Buelos debe tener eso en cuenta porque ese UPDATE puede generar un problema de llave si alguien quiere usar un login ya exstente.

Por otra parte, ese RequestLive está de más, sólo se usa para consultas SELECT, no para consultas que modifican datos.

Bye
Responder Con Cita
  #6  
Antiguo 02-03-2008
Buelos Buelos is offline
Miembro
 
Registrado: jun 2007
Posts: 51
Poder: 17
Buelos Va por buen camino
Thumbs down nada todavia

Muchas gracias a todos por su ayuda, keyboy tiene razon cuando explica a que me refiero con login es como el id del usuario y si este no puede ser el mismo para dos usuarios, resulta que eh echo lo que uds me recomiendan pero al poner la clausula
form4.Query2.ExecSQL;
al final del procedimiento me arroja un error de 'misin operator o semicolon'. Les agradezco infinitamente su ayuda.
Responder Con Cita
  #7  
Antiguo 02-03-2008
Buelos Buelos is offline
Miembro
 
Registrado: jun 2007
Posts: 51
Poder: 17
Buelos Va por buen camino
Talking ahora si.

no, que pena con uds
pero era un error de un procedure mas arriba pero ya lo arregle y todo quedo perfecto, en serio muchichisisisismas gracias, a todos por su colaboracion me servio demasiado mil gracias chao
Responder Con Cita
  #8  
Antiguo 02-03-2008
Buelos Buelos is offline
Miembro
 
Registrado: jun 2007
Posts: 51
Poder: 17
Buelos Va por buen camino
el error

el error era la posicion de la clausula execsql y lo de los dos puntos gracias por todo les debo como 100.
Responder Con Cita
  #9  
Antiguo 02-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Lo que no entiendo es para que hacer un update si se puede hacer con un simple edit, ya que se trata de un solo registro.
Código Delphi [-]
form4.Query2.Sql.Text:= 'Select * From Estudiantes where login = :Log';
form4.Query2.Parameters[0].Value:= form4.Edit6.Text;
form4.Query2.Open;
form4.Query2.Edit;
form4.Query2.FileByName('login').Value:= form4.Edit3.Text
form4.Query2.Post;
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
modificar resultados de un query en la BD Choclito Conexión con bases de datos 2 15-11-2006 00:12:50
Modificar consulta (query) en Rave ? Luis Impresión 1 10-01-2005 14:07:24
Ingresar Y Modificar Datos con un Query senpiterno Conexión con bases de datos 1 09-10-2004 14:56:45
como modificar los registros de un query? URBANO SQL 2 15-06-2004 10:15:44
modificar dbgrid ligado a query squenda Conexión con bases de datos 7 25-04-2004 06:54:03


La franja horaria es GMT +2. Ahora son las 12:49: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