Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-06-2004
SaurioNet SaurioNet is offline
Miembro
 
Registrado: mar 2004
Posts: 25
Poder: 0
SaurioNet Va por buen camino
MySQL y ADO

Hola a todos:

No tengo mucha experiencia en MySql y necesito saber si la cláusula "... IN ..." funciona exactamente igual en MySql que en Sql Server, es decir ¿admite una subconsulta?.

La otra duda que tengo es que no consigo ejecutar una instrucción que incluya la creación de una tabla temporal, cargarla con determinados datos; ejecutar una consulta que contempla datos de la tabla temporal, para obtener un RecordSet y por último destruir la tabla temporal. En código sería algo así.

CREATE TEMPORARY TABLE tmp .....;
INSERT INTO tmp ....;
SELECT .... FROM ... WHERE ...;
DROP TABLE tmp;

He ejecutado esta instrucción en el administrador de MySql y ha funcionado correctamente, pero desde mi código he probado la misma consulta y no consigo ejecutarla correctamente. ¿Puede ser que ADO no soporte este funcionamiento?. Lo que pretendo es que los valores resueltos por el SELECT, se almacenen en un RecordSet.

Gracias por vuestra colaboración.
Responder Con Cita
  #2  
Antiguo 28-06-2004
SaurioNet SaurioNet is offline
Miembro
 
Registrado: mar 2004
Posts: 25
Poder: 0
SaurioNet Va por buen camino
La única solución que he encontrado consiste en aplicar cada instrucción por separado y de ese modo funciona. Si a alguien se le ocurre otro modo y le apetece exponerlo ánimo.
Responder Con Cita
  #3  
Antiguo 28-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por SaurioNet
No tengo mucha experiencia en MySql y necesito saber si la cláusula "... IN ..." funciona exactamente igual en MySql que en Sql Server, es decir ¿admite una subconsulta?.
MySql soporta subconsultas desde la versión 4.1 y, según la documentación, soporta todas las formas de subconsulta que establece el estándar.


Cita:
Empezado por SaurioNet
La otra duda que tengo es que no consigo ejecutar una instrucción que incluya la creación de una tabla temporal, cargarla con determinados datos; ejecutar una consulta que contempla datos de la tabla temporal, para obtener un RecordSet y por último destruir la tabla temporal. En código sería algo así.

CREATE TEMPORARY TABLE tmp .....;
INSERT INTO tmp ....;
SELECT .... FROM ... WHERE ...;
DROP TABLE tmp;
Quizá no necesites una tabla temporal. Consulta en la documentación de MySql la sintaxis para CREATE TABLE que admite la forma:

Código SQL [-]
create table tabla select campos from otra tabla

(La parte de crear una tabla a partir de otra viene casi al final de la página que te indico)


Cita:
Empezado por SaurioNet
He ejecutado esta instrucción en el administrador de MySql y ha funcionado correctamente, pero desde mi código he probado la misma consulta y no consigo ejecutarla correctamente. ¿Puede ser que ADO no soporte este funcionamiento?. Lo que pretendo es que los valores resueltos por el SELECT, se almacenen en un RecordSet.
Bueno, si en el administrado de MySql puedes hacer algo que no se puede con ADO, claramente la limitación es de ADO.

Yo te sugiero probar de usar Zeos en lugar de ADO.

Otra cosa: de preferencia abre varios hilos para consultas distintas.

// Saludos
Responder Con Cita
  #4  
Antiguo 16-07-2004
SaurioNet SaurioNet is offline
Miembro
 
Registrado: mar 2004
Posts: 25
Poder: 0
SaurioNet Va por buen camino
Hola Roman:

gracias por tu ayuda.
En cuanto a lo que me comentas sobre la utilización de hilos, ¿podrías indicarme cómo se abren esos hilos o dónde puedo ampliar la informacion?

Saludos.
Responder Con Cita
  #5  
Antiguo 16-07-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Me refería a abrir distintos hilos en los foros cuando preguntes varias cosas.

// Saludos
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 22:54:39.


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