Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-02-2006
chipsoni chipsoni is offline
Miembro
 
Registrado: nov 2005
Posts: 75
Poder: 19
chipsoni Va por buen camino
Consulta vacia

Tengo que hacer una consulta y mostrar una entrada en la tabla, tengo esto:
Código Delphi [-]
with Query do
  begin
   with SQL do
     begin
       DataModule.tdemanda.close;
       Clear;
       Datamodule.tdemanda.open;
       Add('Select * from tdemanda');
       Add('where codigo= :codigo');
       ParamByName('codigo').Astring:= StrToInt(codigo.Text);
       Open;
     end;
  end;

With Query1 do
  begin
    if (DataModule.tdemanda['ttipo_demanda'].FieldValue=1) then
       with SQL do
          begin
......
Bien, me peta en ejecución, en la linea del if, con el error 'Invalid variant operation', ademas de no saber pque he hecho mal, necesito sacar un mensaje si el codigo introducido en el Edit 'codigo', no existe en la tabla.

¿Alguien me puede ayudar?

Última edición por vtdeleon fecha: 11-02-2006 a las 19:42:07.
Responder Con Cita
  #2  
Antiguo 11-02-2006
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Hola, promero que todo es pedirte el favor de que uses las etiquetas Delphi.

Y ahora para responder a tu pregunta:

Deberias intentar esto:

Código Delphi [-]
With Query1 do
begin
   if (DataModule.tdemanda.FieldByName('ttipo_demanda').Value=1) then
   with SQL do
   begin
      ...

Espero te sirva
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 11-02-2006
chipsoni chipsoni is offline
Miembro
 
Registrado: nov 2005
Posts: 75
Poder: 19
chipsoni Va por buen camino
Muchas gracias por responder, pero me da exactamente el mismo error y en la misma linea que con value, que con FieldValues, ¿alguna otra idea?.

No entiendo que quieres decir con lo de pedirme el favor de que use las etiquetas delphi.
Responder Con Cita
  #4  
Antiguo 11-02-2006
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Y asi?:

Código Delphi [-]
With Query1 do
begin
   if (DataModule.tdemanda.FieldByName('ttipo_demanda').AsInteger=1) then
   with SQL do
   begin
      ...

Espero que esta vez si
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 11-02-2006
chipsoni chipsoni is offline
Miembro
 
Registrado: nov 2005
Posts: 75
Poder: 19
chipsoni Va por buen camino
Perdón, ahora no me da ese error, me he confundido, me da un error de violacion en el acceso a una direccion del modulo ejecutable.
Responder Con Cita
  #6  
Antiguo 11-02-2006
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Ahh, bueno, y para lo del si el codigo no existe en la tabla seria asi:

Código Delphi [-]
with Query do
begin
   with SQL do
   begin
      DataModule.tdemanda.close;
      Clear;
      Datamodule.tdemanda.open;
      Add('Select * from tdemanda');
      Add('where codigo= :codigo');
      ParamByName('codigo').Astring:= StrToInt(codigo.Text);
      Open;
      if RecordCount = 0 then
      begin
          raise exception.create('El codigo no existe');
      end;
   end;
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 11-02-2006
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, el error de acces violation puede ser por varios motivos uno de ellos podria ser que:

1. Que quiza el DataModule no este cargado, para saber si es eso puede verificar que al presionar Shift+Ctrl+F11 en la pestaña Forms y en su ListBox que tiene como titulo Auto-create forms se encuentre el datamodulo llamado DataModule.

2. Quiza el TQuery o tabla o lo que sea llamado tdemanda ya no exista en tiempo de ejecucion.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 11-02-2006 a las 17:34:41.
Responder Con Cita
  #8  
Antiguo 11-02-2006
chipsoni chipsoni is offline
Miembro
 
Registrado: nov 2005
Posts: 75
Poder: 19
chipsoni Va por buen camino
El datamodule si esta cargado, porque juto antes de meter el codigo me logeo en el programa y esa otra tabla de usuarios y contraseñas, por lo que acceso al datamodule tiene.

Respecto a que la tabla tdemanda no exista en tiempo de ejecución, ¿porque no va a existir si la tusuario por ejemplo si existe?.
Responder Con Cita
  #9  
Antiguo 11-02-2006
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, lo que te quiero decir es que quiza en el AfterOpen o BeforeOpen o que se yo haya algo como tdemanda.free por ejemplo.

Pero total un acces violation es muy complicado detectarlo asi no mas, tendria que hacer el seguimiento con el debug del delphi y sacar conclusiones con todo el conocimiento que tu mismo tienes de tu aplicación. La verdad es que aparte de las dos cosas que ya te mencione no se me ocurre nada da mas del porque del acces violation.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Consulta SQL tres tablas. Paradox Noela SQL 8 03-08-2007 03:38:23
Problamas consulta SQL gabsanar Firebird e Interbase 2 07-02-2005 09:33:05
Problema con una consulta hecha de 3 formas VRO Firebird e Interbase 5 24-01-2005 19:02:11
Por Favor verifiquen esta consulta pues no veo el error. nefy SQL 6 05-06-2004 17:59:06
Urgente!!! Problema con Consulta SQL PaLaSaca SQL 2 06-05-2004 19:56:50


La franja horaria es GMT +2. Ahora son las 21:21:57.


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