Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-12-2006
todook todook is offline
Miembro
 
Registrado: nov 2006
Posts: 14
Poder: 0
todook Va por buen camino
probe con varias y no anda!!!

bueno el tema es que tengo dos tablas hechas en paradox para pais y provincias conectadas por id_pais..ya hice el abm de las dos con tquery tdataset que salen a dbgrid. bueno mi problema es que puse un boton para que cuando lo apriete me tire para los paises sus respectivas provincias noo? digamos lo logico !! bueno estuve probando hacerlo con inner con left con right, directamente igualarlos pero poniendo table1.id = table2.id bla..bla la cosqa es que no sale!!!! siempre me tira el maldito type mismatach in expression!!!! bueno el codgo al final quedo asi:

procedure TForm1.Button1Click(Sender: TObject);
begin
qryprov.SQL.Clear;
qryprov.SQL.Add('SELECT PAIS.NOMBRE_PAIS, PROVINCIA.NOMBRE_PROVINCIA, PROVINCIA.ID_PAIS FROM PAIS INNER JOIN PROVINCIA ON PAIS.ID_PAIS = PROVINCIA.ID_PAIS');
qryprov.ExecSQL;
qryprov.Active:=true;
end;
end.

AYUDA ANTES DE QUE PATEE LA MAQUINA !!

SALUDOS...Y GRACIAS!!!
Responder Con Cita
  #2  
Antiguo 01-12-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Bueno tranquilidad antetodo, la máquina no tiene ninguna culpa

Prueba a quitar la intrucción ExecSQL. Verás como funciona.
Si estás ejecutando una sentencia SQL de consulta, debes abrirla con un Query.open o un query.Active := True.
Cuando hagas una sentencia SQL que implique alteración de datos (insert, delete, update, create, drop, etc) debes usar un ExecSQL en lugar del Open o el active.

Espero te sirva,

Saludos
Responder Con Cita
  #3  
Antiguo 01-12-2006
todook todook is offline
Miembro
 
Registrado: nov 2006
Posts: 14
Poder: 0
todook Va por buen camino
jajajaj ok es un buen dato el que me das..yo usaba ese porque fue lo primero que encontre para que funcione..con razon tenia tantos problemas con el open el activate, buenisimo la proxima leo algo antes de empezar a programar no? jajaja.....bueno muchas gracias por la ayuda!! saludos!!
Responder Con Cita
  #4  
Antiguo 01-12-2006
todook todook is offline
Miembro
 
Registrado: nov 2006
Posts: 14
Poder: 0
todook Va por buen camino
Igual Onda Que Sigue Sin Andar Pero Buee Sigo Probando Jajaja
Responder Con Cita
  #5  
Antiguo 01-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Pues está "todo OK" jejeje.

Si no funciona es que no tienes datos o que en PROVINCIA.ID_PAIS no tiene correspondencia en la tabla PAIS, o al revés. Añade valores a los registros, incluso con el Database Desktop.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 01-12-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Pues tiene toda la pinta de ser lo que te ha comentado el amigo Lepe
Comprueba con un cliente de base de datos copiando la misma consulta y ejecutándola, para saber que realmente no hay datos.
Puede saber el contenido de la sentencia con el comando Query.SQl.Text, justo antes de hacer el Open, escribes su contenido en un memo para poder copiarlo y lo pegas en el cliente de tu base de datos.

Saludos
Responder Con Cita
  #7  
Antiguo 01-12-2006
todook todook is offline
Miembro
 
Registrado: nov 2006
Posts: 14
Poder: 0
todook Va por buen camino
mira las dos tablas tienen registros, las dos estan con un ID_pais, tienen registros las dos tablas...y algunos que coinciden el id.
pero aparte me sigue poniedo el type mismatch..
mande un qryprov.sql.text a un edit
antes del active...y esta bien le manda bien la query..
no tiene nada que ver que un campo sea autonumerico no?
Responder Con Cita
  #8  
Antiguo 01-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Normalmente en Pais si tendrá un autonumérico por clave primaria, pero después en provincia.id_pais, tú eres el responsable de ponerle el mismo número.

La tabla provincias puede tener de clave primaria el campo PROVINCIAS.ID y ser autonumérico, por eso no debe haber problemas.

Seguro que es uno de esos errores tontos que nos hacen perder mucho tiempo, pero ahora mismo no tengo ni idea. Todo lo dicho está bien.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 01-12-2006
todook todook is offline
Miembro
 
Registrado: nov 2006
Posts: 14
Poder: 0
todook Va por buen camino
una tabla esta conectada con un datasource y un tquery y la otra con otro podra ser por eeso???
Responder Con Cita
  #10  
Antiguo 02-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Lo que necesitas es:
- Un Tquery (qryprov) que en su propiedad DatabaseName apunte a tu Base de datos.
- Un Tdatasource que en su propiedad Dataset, apunte al query anterior
- Un TDBGrid enlazado a ese TDataSource (para ver los resultados).
- El botón con el código de tu primer mensaje (quitando el qryprov.ExecSql).

Con eso, al hacer clic en el boton, debes ver en el grid todos los paises con sus provincias.

Saludos y buena suerte.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 04-12-2006
todook todook is offline
Miembro
 
Registrado: nov 2006
Posts: 14
Poder: 0
todook Va por buen camino
bueno gente...despues de un fin de semana me relaje y me puse aver esto que me habia cansado..bue descubri que el error lo tiraba por que el el id de paises era autoincrementar, puede sonar ilogico pero era por eso..agregue otro id a la tabla y los puse de tipo alpha y lo compara perfecto...el tema es que no me sirve asi pero bueno ahora que esta la solucion buscare la vuelta..

Saludos
Responder Con Cita
  #12  
Antiguo 04-12-2006
todook todook is offline
Miembro
 
Registrado: nov 2006
Posts: 14
Poder: 0
todook Va por buen camino
ahh perdonn me olvidaba muchas gracias a todos por la ayuda!!!! una maza!!
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
No puedo ejecutar mi Aplicacion Kylix, Probe todo lo que lei en el Foro Ricardojosep Lazarus, FreePascal, Kylix, etc. 15 08-07-2006 11:44:41
Ejecutable me anda y a otros no YaninaGenia Firebird e Interbase 2 16-05-2006 15:21:29
De quiCkreport a PDF, Casi anda tulio Impresión 2 21-02-2005 11:19:14
problemas para pasar los datos de un Tmemo a otro, ya probe de todo :/ nahuel007 Varios 6 08-01-2005 20:05:02
De tacaños anda el tema... Nuria Humor 8 28-07-2004 09:16:12


La franja horaria es GMT +2. Ahora son las 17:36:30.


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