FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Pregunta sobre Query
cadetill:
el código que quise poner antes es: procedure TForm18.ListarClick(Sender: TObject); Var fmSQL:String; begin If Lista.Text='Código' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['CodMueble','CodMueble']); ModeloDatos.Consulta1.ParamByName('DESDE').AsInteger:=StrToInt(Desde.Text); ModeloDatos.Consulta1.ParamByName('HASTA').AsInteger:=StrToInt(Hasta.Text); ModeloDatos.Consulta1.Open; end Else If Lista.Text='Descripción' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['Descripcion','Descripcion']); ModeloDatos.Consulta1.ParamByName('DESDE').AsString:=Desde1.Text; ModeloDatos.Consulta1.ParamByName('HASTA').AsString:=Hasta1.Text; ModeloDatos.Consulta1.Open; end Else If Lista.Text='Rubro' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['Nombre','Nombre']); ModeloDatos.Consulta1.ParamByName('DESDE').AsString:=Desde1.Text; ModeloDatos.Consulta1.ParamByName('HASTA').AsString:=Hasta1.Text; ModeloDatos.Consulta1.Open; end; Y el de la Consulta es: SELECT Mueble.Codmueble,Mueble.Descripcion,Rubro.Nombre,Seccion.Nombre FROM Mueble INNER JOIN Rubro ON Mueble.Rubro=Rubro.CodRub INNER JOIN Seccion ON Mueble.Seccion=Seccion.Codigo WHERE %s BETWEEN ESDE AND :HASTA ORDER BY %s; Disculpame que lo transcriba así, pero la no sé como se usa la etiqueta Code. Gracias.- |
#2
|
||||
|
||||
Cita:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
|||
|
|||
a ver, no se si te he entendido bien
Dices que para las opciones de CodMueble y Descripcion funciona bien, pero en cambio, para la otra opción, Nombre, no te funciona Para ver por donde anda el problema (ya que es de suponer que los muebles han de tener "nombre"), prueba poner un punto de ruptura en la linea donde asignas lo parámetros y ver que parámetros estás pasando y que sentencia SQL estás lanzando. Prueba también a lanzar esa sentencia SQL desde fuera de Delphi a ver si te retorna resultados |
#4
|
|||
|
|||
Pregunta sobre Query
En realidad el tema es así:
para Mueble.CodMueble y Mueble.Descripcion funciona bien es decir me lista ordenado por esos campos y según la seleccion que yo haya hecho, pero para Rubro.Nombre y Seccion.Nombre, cuando quiero ordenar por uno de esos campos, me devuelve el reporte en blanco es decir sin ningún registro, pero no me da ningún error. Solamente que no hace lo que debiera. Los campos que yo selecciono en mi consulta son esos cuatro. Gracias, saludos. Silvio.- |
#5
|
|||
|
|||
Cita:
|
#6
|
|||
|
|||
Pregunta sobre Query
El código que uso es tal cual así:
Código:
procedure TForm18.ListarClick(Sender: TObject); Var fmSQL:String; begin If Lista.Text='Código' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['CodMueble','CodMueble']); ModeloDatos.Consulta1.ParamByName('DESDE').AsInteger:=StrToInt(Desde.Text); ModeloDatos.Consulta1.ParamByName('HASTA').AsInteger:=StrToInt(Hasta.Text); ModeloDatos.Consulta1.Open; end Else If Lista.Text='Descripción' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['Descripcion','Descripcion']); ModeloDatos.Consulta1.ParamByName('DESDE').AsString:=Desde1.Text; ModeloDatos.Consulta1.ParamByName('HASTA').AsString:=Hasta1.Text; ModeloDatos.Consulta1.Open; end Else If Lista.Text='Rubro' Then begin ModeloDatos.Consulta1.Close; fmSQL:=Modelodatos.Consulta1.SQL.Text; Modelodatos.Consulta1.SQL.Text:=Format(fmSQL,['Nombre','Nombre']); ModeloDatos.Consulta1.ParamByName('DESDE').AsString:=Desde1.Text; ModeloDatos.Consulta1.ParamByName('HASTA').AsString:=Hasta1.Text; ModeloDatos.Consulta1.Open; end; Código:
SELECT Mueble.Codmueble,Mueble.Descripcion,Rubro.Nombre,Seccion.Nombre FROM Mueble INNER JOIN Rubro ON Mueble.Rubro=Rubro.CodRub INNER JOIN Seccion ON Mueble.Seccion=Seccion.Codigo WHERE %s BETWEEN :DESDE AND :HASTA ORDER BY %s; Gracias. Silvio.- |
#7
|
|||
|
|||
sí, vale, pero.... no me dices si has probado lo de debugear, mirar qué sentencia SQL te está generando, probar esa sentencia SQL fuera de Delphi (y de tu app), mirar que parámetros le estás pasando (quizás los estén enviando en orden inverso estilo ZZZZ y AAAAA en ligar de AAAA y ZZZZZ y por eso no te devuelve nada),............
|
#8
|
||||
|
||||
Cita:
Cita:
Debugear = (spanglish(debug)) acción destinada a depurar una aplicación, normalmente se realiza poniendo un breakpoint o punto de ruptura que rompe la ejecución del programa, permitiendo evaluar y cambiar el valor de las variables y continuar la ejecución paso a paso del mismo.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|