Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Es gracioso como un codigo sencillo nos haga cometer tantos errorsillos de sintaxis

Cita:
Empezado por Lepe
Debe decir:

Código Delphi [-]
ADOQuerry.SQL.Text := 'select Codigo,Descripcion from Articulo where Codigo = ('+ filtro+')';
Si te fijas bien en el codigo sql que acabas de colocar haz cometido tambien un errorsillo de sintaxis y es que en lugar de "=" debe ir "in" , y debe ser asi:
Código Delphi [-]
ADOQuerry.SQL.Text := 'select Codigo,Descripcion from Articulo where Codigo in ('+ filtro+')';

Y bueno aun asi podria seguir un error, en caso de que el ADQuerry en realidad si este mal escrito
__________________
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: 08-02-2007 a las 15:00:03.
Responder Con Cita
  #2  
Antiguo 08-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
jhonny es que nuestro[modo EGO=on] nivel de abstracción es muy elevado... eso son nimiedades[/modo EGO=off]

En serio, este tipo de errores son los que nos vuelven locos, siempre pensamos que son otras cosas de más envergadura.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 08-02-2007
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
Vaya, el Error del principio es tipografico pero esta solo en el Foro, tanto el "=" como el Querry, voy a colocar el código tal cual lo tengo en mi Soft (Nada como Copiar y Pegar)

Código Delphi [-]
var
 filtro:string;
 i:integer;
begin
   filtro := EmptyStr;

   if OpenArch.Execute then
     begin
       MArch.Lines.LoadFromFile(OpenArch.FileName);
       MArch.Enabled := False;
     End;
   
   for i:=0 to MArch.Lines.count -1 do
      filtro := filtro +', '+QuotedStr(MArch.lines[i]);
   delete(filtro,1,1);

   DMRomaneo.ADOQArticulos.SQL.Text := 'select Codigo,Descripcion from Articulo where Codigo in ('+ filtro+')';
   DMRomaneo.ADOQArticulos.Open;
end;

Tiene que ir en el MEMO por una cuestion de Control, es como dice jhonny, el TXT es generado por otro porg y debe ser comparado con la DB.

Esto es solo a modo aclarativo ya que los primeros errores mensionados ya estan solucionados, faltaba el signo "+" al final, una vez solucionado mi prog corre pero larga un error de ODBC

"no coinciden los tipos de datos en la Expresion de criterio"

Creo que se refiere a que los campos de la Tabla no coinciden, pero lo he verificado y la verdad coinciden hasta con las letras mayusculas, o es por que los tipos no coinciden integer y otro tipo string??

Prometo prender belas y colgar mi proyecto en este hilo solo tiene que funcionar............

Gracias Totales x la buena Onda
Responder Con Cita
  #4  
Antiguo 08-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por MikyVato
o es por que los tipos no coinciden integer y otro tipo string??
Tu lo haz dicho , en ese caso debes quitar las comillas sencillas del codigo otorgado por Lepe osea que la cosa quedaria asi (Y espero no equivocarme de nuevo en la sintaxis ):

Código Delphi [-]
for i:=0 to MArch.Lines.count -1 do
      filtro := filtro +', '+MArch.lines[i];
   delete(filtro,1,1);
   DMRomaneo.ADOQArticulos.SQL.Text := 'select Codigo,Descripcion from Articulo where Codigo in ('+ filtro+')';
   DMRomaneo.ADOQArticulos.Open;
__________________
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: 08-02-2007 a las 21:07:27.
Responder Con Cita
  #5  
Antiguo 09-02-2007
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
Cool Que plomaso que soy ......

Jhonny no veo la diferencia, a que te refieres con eso de poner comillas?? .
La verdad no me imagino como hacer un StrToInt en una consulta SQL , menos como hacer para convertir la cadena completa uno a uno, cada eslabon???........

Me quedo una duda Caral?? como le haces para insertar la consulta directamente en el DBGRID o sea como hago para buscar los 58 registros que necesito en la DB y mostrarlos directamente me explico?? (Consulto por curiosidad)
Responder Con Cita
  #6  
Antiguo 09-02-2007
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
Lo que hice fue probar si es que el codigo funciona utilizando otro campo de la DB que sea tipo string y a que no saben si funciona de maravilla casi saltan lagrimas de la emocion, entonces el prob ahora es cambiar el tipo de dato en la consulta???

Espero todo este embrollo sirva de algo para alguien mas, Gracias por la inmensa pasciencia.........
Responder Con Cita
  #7  
Antiguo 09-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
el código que ha puesto jhonny, es casi igual que el original... pero le falta el QuotedStr ... es decir quitar las comillas para que el sql quede:
Código SQL [-]
select * from tabla where codigo in (3, 4, 55,612,3)

Al pasar cada elemento dentro de los paréntesis sin estar encerrados entre comillas simples, SQL lo interpreta como números enteros, y como el campo codigo también es de tipo entero, ya no tendras problemas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Como puedo empezar a desarrollar Neiro Internet 2 10-10-2006 16:14:24
¿Como empezar bien? MakinaX Varios 1 03-06-2006 12:30:13
Como empezar con Delphi??? @padawan@ Varios 3 11-01-2006 18:02:47
Comó empezar con Quick Report lucasarts_18 Impresión 2 16-04-2005 19:20:09
Como empezar una aplicación web rfernandez Internet 2 10-01-2004 01:38:05


La franja horaria es GMT +2. Ahora son las 19:40:59.


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