Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2011
Avatar de cheche358
cheche358 cheche358 is offline
Miembro
 
Registrado: mar 2010
Ubicación: Valencia - Venezuela
Posts: 35
Poder: 0
cheche358 Va por buen camino
Angry Problema con Query

Por amor a dios alguien que me diga posibles errores de esta consulta que no encuentro que vuuelta mas darle!! No me da error de sintaxis pero no me arroja ningun resultado:

SELECT * FROM INVENTARIO WHERE INVENTARIO.TIPO=' + Edt1.Text'
Responder Con Cita
  #2  
Antiguo 06-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me parece que el signo de + esta separado de la cmilla y del edit, ademas hay una comilla detras del edit que no va, prueba asi:
Código Delphi [-]
'SELECT * FROM INVENTARIO WHERE INVENTARIO.TIPO = '+Edt1.Text
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 06-08-2011
leofuentes21 leofuentes21 is offline
Miembro
NULL
 
Registrado: feb 2011
Ubicación: la ceiba, atlantida
Posts: 66
Poder: 14
leofuentes21 Va por buen camino
hola
Puedes provar de esta manera sino te funciona
Código Delphi [-]
'SELECT * FROM INVENTARIO WHERE INVENTARIO.TIPO = '+quotedstr(Edt1.Text);
saludos
Responder Con Cita
  #4  
Antiguo 06-08-2011
Avatar de cheche358
cheche358 cheche358 is offline
Miembro
 
Registrado: mar 2010
Ubicación: Valencia - Venezuela
Posts: 35
Poder: 0
cheche358 Va por buen camino
Muchas gracias a todos por sus respuestas, lo resolvi asi:

Código:
dbsmqry1.SQL.Clear;
dbsmqry1.SQL.Add('SELECT * FROM INVENTARIO WHERE TIPO=' + QuotedStr(edt1.Text));
dbsmqry1.Open;
Responder Con Cita
  #5  
Antiguo 06-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola cheche358.

Otra alternativa:
Código Delphi [-]
  dbsmqry1.SQL.Text:= 'SELECT * FROM VENTAS WHERE CONCEPTO = :VALOR';
  dbsmqry1.ParamByName('VALOR').AsString:= Edit1.Text;
  dbsmqry1.Open;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 07-08-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por cheche358 Ver Mensaje
Muchas gracias a todos por sus respuestas, lo resolvi asi:

Código:
dbsmqry1.SQL.Clear;
dbsmqry1.SQL.Add('SELECT * FROM INVENTARIO WHERE TIPO=' + QuotedStr(edt1.Text));
dbsmqry1.Open;
Utiliza el código que te ha proporcionado ecfisa. En informática hay algo que se le conoce cómo Ataque de Inyección de SQL. Tu código es completamente vulnerable a él.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #7  
Antiguo 07-08-2011
Avatar de cheche358
cheche358 cheche358 is offline
Miembro
 
Registrado: mar 2010
Ubicación: Valencia - Venezuela
Posts: 35
Poder: 0
cheche358 Va por buen camino
Gracias por la recomendacion, ya me documente un poco al respecto.

Pero para matar la duda completamente...

La vulnerabilidad del codigo que escribi antes viene del QuotedStr ??

Última edición por cheche358 fecha: 07-08-2011 a las 04:28:35. Razón: Falta Info
Responder Con Cita
  #8  
Antiguo 07-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por cheche358 Ver Mensaje
Gracias por la recomendacion, ya me documente un poco al respecto.

Pero para matar la duda completamente...

La vulnerabilidad del codigo que escribi antes viene del QuotedStr ??
No exáctamente. Viene dado por que de ese modo permite armar la sentencia SQL mediante el Edit.
En cambio no tiene ninguna consecuencia pasar una sentencia SQL como valor de un parámetro. (Salvo no encontrar lo que se está buscando )

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 07-08-2011 a las 04:55:47.
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
Problema con query lejia Impresión 3 12-10-2007 23:08:16
problema con query UREÑA Conexión con bases de datos 3 11-07-2007 21:09:29
problema con los query ercrizeporta Conexión con bases de datos 2 28-05-2007 21:22:09
Problema Con Un Query Ing Harry SQL 9 14-06-2005 00:51:26
Problema con un Query!!!! Carmen Conexión con bases de datos 2 10-11-2004 14:45:21


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