Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   error en una sentencia sql (https://www.clubdelphi.com/foros/showthread.php?t=76909)

ozmar_11 03-12-2011 23:05:51

error en una sentencia sql
 
hola necesito que un query busque en una base de datos un numero de cuenta dado en un edit por un usuario por lo que mi codigo sql es algo asi:
select Nombre,'Numero de cuenta',Grado,Grupo,'Justificantes solicitados hasta ahora'
from Tabla1
Where 'Numero de cuenta'=edit1.text
Order by Nombre
pero no me funciona solo funciona cuando quito la linea marcada de rojo

olbeup 03-12-2011 23:16:52

Cita:

Empezado por ozmar_11 (Mensaje 420402)
hola necesito que un query busque en una base de datos un numero de cuenta dado en un edit por un usuario por lo que mi codigo sql es algo asi:
select Nombre,'Numero de cuenta',Grado,Grupo,'Justificantes solicitados hasta ahora'
from Tabla1
Where 'Numero de cuenta'=edit1.text
Order by Nombre
pero no me funciona solo funciona cuando quito la linea marcada de rojo

Prueba a poner corchetes y el Edit1.Text lo pones cómo QuotedStr(Edit1.Text), ¿Porque pones lo nombre de campos tan largos y con espacios?, Seria (Numero de cuenta) = NUMEROCUENTA, y (Justificantes solicitados hasta ahora) = JUSTIFICANTESSOLICITADOS

Un saludo.

ozmar_11 03-12-2011 23:22:39

gracias ya intente poniendo corchetes pero funciona

ecfisa 03-12-2011 23:24:27

Hola ozmar_11 y bienvenido a Club Delphi :)

Como a todo recién ingresado te invito a que leas nuestra Guía de estilo.

En referencia a tu consulta sería interesante que nos contaras con que gestor de base de datos y que componentes estás trabajando.

Un saludo.

ozmar_11 03-12-2011 23:34:51

hola gracias ecfisa estoy usando una base de datos en access pero necesito imprimir en un dbgrid a un alumno en particular por medio de su numero de cuenta que sera dada por el usuario del programa para eso utilize un query para realizar la busqueda del alumno pero no se muy bien como usar la propiedad squl del query en delphi y ps seme ocurrio hacer el codigo anterior pero no me funciona cuando pongo esto:
Where 'Numero de cuenta'=edit1.text
tambien e intentado usar esto:
where Nombre='ozmar'
y de esta ultima manera funciona pero necesito que le programa busque el alumno que el usuario quiera podrian decirme como hacerlo

Casimiro Noteví 03-12-2011 23:45:06

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.

Como bien te ha comentado ecfisa, deberías leer nuestra guía de estilo, ahí explica que pongas títulos descriptivos a tus preguntas, que encierres entre etiquetas el código fuente que pongas, que realices preguntas lo más detalladas posible, etc.



Muchas gracias por tu colaboración.

.

ecfisa 03-12-2011 23:57:12

Hola ozmar.

No soy conocedor de Acces, pero lo que dijo olbeup es muy acertado. Es preferible evitar los nombres con espacios y con los nombres demasiado largos podes cometer un error de tipeo y te será más difícil de encontrar.

Te pongo una consulta genérica que sé positivamente que va a funcionar para que te guíes:
Código Delphi [-]
  with Query do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select Nombre, NroDeCuenta, Grado, Grupo, JustSolicAlDia From Tabla1');
    SQL.Add('Where NroDeCuenta = :NroCta');
    ParamByName('NroCta').AsString:= Edit1.Text;
    Open;
  end;
Modifique los nombres por que no sé el tratamiento que da Access a los nombres con espacios, espero que te ayude.

Un saludo.

ecfisa 04-12-2011 00:15:14

Hola de nuevo.

Estaba pensando que no especificaste que componentes estás utilizando. Y si estás trabajando con un TADOQuery, para que funcione, vas a tener que hacer una pequeña modificación al código que te puse:
Código Delphi [-]
  with ADOQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select Nombre, NroDeCuenta, Grado, Grupo, JustSolicAlDia From Tabla1');
    SQL.Add('Where NroDeCuenta = :NroCta');
    Parameters.ParamByName('NroCta').Value:= Edit1.Text;
    Open;
  end;

Saludos.

ozmar_11 04-12-2011 02:29:58

hola gracias por tomarse la molestia de responderme y gracias por enseñarme a usar el foro no estoy muy acostumbrado a estar en foros pero son muy utiles y disculpen que los vuelva a molestar estoy usando un Tquery pero el código de la consulta genérica en que propiedad o evento del Tquery debería estar?

Caral 04-12-2011 02:56:56

Hola
Para empezar te aconsejo que te olvides de los componentes de la paleta DBE y los cambies por los de la paleta ADO.
Te vas a quitar un monton de dolores de cabeza.
Saludos

ozmar_11 04-12-2011 02:57:26

hola el problema se me resolvió puse el código de la consulta genérica en un botón y me funciono de maravilla muchas gracias por ayudarme.


La franja horaria es GMT +2. Ahora son las 12:50:11.

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