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 Buscar Temas de Hoy Marcar Foros Como Leídos

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: 22
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: 24
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: 24
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 01:21:02.


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