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 30-10-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
problema con inner

hola amigos tengo el siguiente problema

me marca un error en el inner lo he ejecutado en ibexpert y si funciona

Código Delphi [-]
  frm_DataModule.qry_listDocentes.Close;
  frm_DataModule.qry_listDocentes.SQL.Clear;
  frm_DataModule.qry_listDocentes.SQL.Add('SELECT ALUMNO.MATRICULA, CALIFICACION.ID_PERIODO, ALUMNO.NOMBRE_ALUM, ALUMNO.APELLIDOP, ALUMNO.APELLIDOM,'+' AREA_ACADEMICA.ID_AREA, AREA_ACADEMICA.NOMBRE_AREA, CALIFICACION.M01, MATERIA.ID_MATERIA, MATERIA.NOMBRE_MATERIA, CT.ID_CT, CT.NOMBRE_CT, DOCENTES.NOMBRE_MA, DOCENTES.APELLIDOP_MA, DOCENTES.APELLIDOM_MA');
  frm_DataModule.qry_listDocentes.SQL.Add('AREA_ACADEMICA, CT, ALU_MAT INNER JOIN ALUMNO ON ALU_MAT.MATRICULA = ALUMNO.MATRICULA INNER JOIN CALIFICACION ON ALU_MAT.MATRICULA = CALIFICACION.MATRICULA, MATERIA INNER JOIN DOCENTES ON MATERIA.ID_MATERIA = DOCENTES.ID_MATERIA');
  frm_DataModule.qry_listDocentes.SQL.Add('WHERE CALIFICACION.ID_PERIODO = '+QuotedStr(VarToStr(cmb_periodo.KeyValue))+' AND AREA_ACADEMICA.ID_AREA = '+QuotedStr(VarToStr(cmb_aA.KeyValue))+' AND MATERIA.ID_MATERIA = '+QuotedStr(VarToStr(cmb_materia.KeyValue))+' AND DOCENTES.ID_MATERIA = '+QuotedStr(VarToStr(cmb_materia.KeyValue))+'');
  frm_DataModule.qry_listDocentes.Open;
  frm_DataModule.qry_listDocentes.FetchAll;


gracias de antemano!!

Última edición por jhonny fecha: 30-10-2007 a las 16:55:10. Razón: Arreglar etiqueta DELPHI
Responder Con Cita
  #2  
Antiguo 30-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola Ureña, por favor trata de usar las etiquetas delphi para mejor entendimiento, no se ve mejor asi?:

Código Delphi [-]
  frm_DataModule.qry_listDocentes.Close;
  frm_DataModule.qry_listDocentes.SQL.Clear;
frm_DataModule.qry_listDocentes.SQL.Add('SELECT ALUMNO.MATRICULA, CALIFICACION.ID_PERIODO, ALUMNO.NOMBRE_ALUM, ALUMNO.APELLIDOP, ALUMNO.APELLIDOM,'+' AREA_ACADEMICA.ID_AREA, AREA_ACADEMICA.NOMBRE_AREA, CALIFICACION.M01, MATERIA.ID_MATERIA, MATERIA.NOMBRE_MATERIA, CT.ID_CT, CT.NOMBRE_CT, DOCENTES.NOMBRE_MA, DOCENTES.APELLIDOP_MA, DOCENTES.APELLIDOM_MA');
frm_DataModule.qry_listDocentes.SQL.Add('AREA_ACADEMICA, CT, ALU_MAT INNER JOIN ALUMNO ON ALU_MAT.MATRICULA = ALUMNO.MATRICULA INNER JOIN CALIFICACION ON ALU_MAT.MATRICULA = CALIFICACION.MATRICULA, MATERIA INNER JOIN DOCENTES ON MATERIA.ID_MATERIA = DOCENTES.ID_MATERIA');
frm_DataModule.qry_listDocentes.SQL.Add('WHERE CALIFICACION.ID_PERIODO = '+QuotedStr(VarToStr(cmb_periodo.KeyValue))+' AND AREA_ACADEMICA.ID_AREA = '+QuotedStr(VarToStr(cmb_aA.KeyValue))+' AND MATERIA.ID_MATERIA = '+QuotedStr(VarToStr(cmb_materia.KeyValue))+' AND DOCENTES.ID_MATERIA = '+QuotedStr(VarToStr(cmb_materia.KeyValue))+'');
  frm_DataModule.qry_listDocentes.Open;
  frm_DataModule.qry_listDocentes.FetchAll

por lo que he visto hay varios inner join y creo yo que eso no es premitido a menos que hagas sub querys, creo yo, no se.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 30-10-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Para empezar, no tenías la cláusula "FROM" y tienes un laberinto con los joins que no logro entender perfectamente.

Código Delphi [-]
  
with frm_DataModule.qry_listDocentes do begin 
 Close;  
 SQL.Clear;
 SQL.Add('SELECT A.MATRICULA, C.ID_PERIODO, A.NOMBRE_ALUM, A.APELLIDOP, A.APELLIDOM,');
 SQL.Add('ACA.ID_AREA, ACA.NOMBRE_AREA, C.M01, M.ID_MATERIA, M.NOMBRE_MATERIA, ');
 SQL.Add('CT.ID_CT, CT.NOMBRE_CT, D.NOMBRE_MA, D.APELLIDOP_MA, D.APELLIDOM_MA'); 
 SQL.Add('FROM AREA_ACADEMICA ACA, CT, ');
 SQL.Add('ALU_MAT INNER JOIN ALUMNO A ON ALU_MAT.MATRICULA =   A.MATRICULA ');
 SQL.Add('INNER JOIN CALIFICACION C ON ALU_MAT.MATRICULA = C.MATRICULA, ');
 SQL:Add('MATERIA M INNER JOIN DOCENTES D ON M.ID_MATERIA = D.ID_MATERIA');
 SQL.Add('WHERE C.ID_PERIODO ='+QuotedStr(VarToStr(cmb_periodo.KeyValue)));
 SQL.Add('AND ACA.ID_AREA ='+QuotedStr(VarToStr(cmb_aA.KeyValue)));  
 SQL.Add('AND M.ID_MATERIA ='+QuotedStr(VarToStr(cmb_materia.KeyValue))
 SQL.Add('AND D.ID_MATERIA ='+QuotedStr(VarToStr(cmb_materia.KeyValue))); 
 Open;
 FetchAll;
end; //with
__________________


Última edición por ContraVeneno fecha: 30-10-2007 a las 17:52:16.
Responder Con Cita
  #4  
Antiguo 30-10-2007
Avatar de UREÑA
UREÑA UREÑA is offline
Miembro
 
Registrado: feb 2007
Posts: 75
Poder: 18
UREÑA Va por buen camino
maldicion solo era el form
los inner estaban bien

gracias contra te debo otra
Responder Con Cita
  #5  
Antiguo 27-03-2009
Avatar de ColdFusion
ColdFusion ColdFusion is offline
Miembro
 
Registrado: oct 2008
Ubicación: Honduras
Posts: 32
Poder: 0
ColdFusion Va por buen camino
Hola yo tengo un error en esta linea
if Solve(Mid(VarToStr(InsideLoop.Items[InsideLoop.Count-1]), InStr(1, InsideLoop.Items[InsideLoop.Count-1], ':') + 1)) then

El debug me dice:
Undeclared indentier VarToStr, que puede ser
__________________
Visita mi blog personal http://edwinmunguia.co.nr/ !
Responder Con Cita
  #6  
Antiguo 27-03-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
te falta agregar la unidad "Variants" en el "uses" de tu código.
__________________

Responder Con Cita
  #7  
Antiguo 27-03-2009
Avatar de ColdFusion
ColdFusion ColdFusion is offline
Miembro
 
Registrado: oct 2008
Ubicación: Honduras
Posts: 32
Poder: 0
ColdFusion Va por buen camino
Gracias!! ya me sirvio, te lo agradexco
__________________
Visita mi blog personal http://edwinmunguia.co.nr/ !
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


La franja horaria es GMT +2. Ahora son las 15:45:08.


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