Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ver Los Datos De Una VISTA Mysql Con Un Datasource + Dataview
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ver Los Datos De Una VISTA Mysql Con Un Datasource + Dataview 
 
Estoy teniendo un problema tratando de visualizar los datos de una vista mysql con un dataview.

Asigno el nombre de la vista a la propiedad table del datasource pero me da un error (error en el SQL cerca del FROM, que no me dice nada).

Cabe destacar que la visualización de datos de otras tablas anda de lo más bien, por lo que quedan descartados errores en la conexión. Pero tengo problemas con la vista y no sé qué podrá ser.


Por otra parte, la idea de usar vistas surge de la necesidad de mostrar en el dataview datos de más de una tabla relacionadas, pero como no encontré como hacer lo que sería un "join" en el datasource me pareció que lo más sencillo sería utilizar una vista... pero me encontré con este error que les comento y ya no se me ocurre cómo solucionarlo .

Muchas gracias de antemano!
 



 
última edición por fermar el Viernes, 21 Octobre 2011, 21:44; editado 2 veces 
fermar - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ver Los Datos De Una VISTA Mysql Con Un Datasource + Dataview 
 
Cuando dice "vista" a que te refieres exactamente...?
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ver Los Datos De Una VISTA Mysql Con Un Datasource + Dataview 
 
jsbsan escribió: [Ver mensaje]
Cuando dice "vista" a que te refieres exactamente...?


Julio, mira este enlace: http://cnx.org/content/m18786/latest/

fermar, realmente nunca he probado a representar los resultados de una vista en gambas y aunque supongo que habrás comprobado por otros medios si la consulta devuelve resultados y no produce errores, sería bueno que expusieras la parte relevante del código gambas y las sentencias sql que has usado para crear la vista y cómo la consultas después.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ver Los Datos De Una VISTA Mysql Con Un Datasource + Dataview 
 
jguardon:

Efectivamente, la consulta con que se crea la vista funciona correctamente, esto está probado mediante phpmyadmin. La vista se crea correctamente y arroja resultados, la idea es usarla desde gambas de la misma manera en que se usa una tabla, tal como entiendo de la documentación de gambas respecto a los datasources.

El código con que creo la vista (siempre mediante phpmyadmin) es de lo más básico ya que estuve probando con vistas muy sencillas para ver dónde podía estar el problema:

Por ejemplo, tengo una tabla remitos, la cual puedo ver en un dataview sin problemas asignando "remitos" a la propiedad table de mi datasource.

Sin embargo (y este es el problema) si creo una vista:

CREATE OR REPLACE VIEW vistamin AS SELECT id, fecha FROM remitos
--(por su puesto esa vista carece de sentido práctico, la llevé a una mínima expresión para probar)
 


y luego asigno vistamin a la propiedad table del datasource obtengo el error antes mencionado:

Query failed: You have an error in your SQL syntax; check the manual(...) near 'FROM vistamin LIMIT64' at line 1

[OT]: ¿Existe alguna otra manera que no sea usando vistas de cargar en un datasource datos que procedan de la unión de diversas tablas?

Gracias!
 



 
última edición por fermar el Sabado, 22 Octobre 2011, 15:32; editado 1 vez 
fermar - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ver Los Datos De Una VISTA Mysql Con Un Datasource + Dataview 
 
Desconozco el funcionamiento interno de los controles enlazados a datos en gambas, pero visto que tu ejemplo no funciona yo probaría usando un Tableview o un Gridview y llenándolos mediante el evento Data.

Si creamos un objeto de tipo "Result" y a éste le asignamos el resultado de cualquier consulta sql, la instancia del objeto result contendrá los resultados que se mostrarán en el gridview mediante el uso del evento Data de dicho control. Es tan rápido como usar los controles enlazados o Datasources, incluso permite mayor manipulación, etc.

Private hres as Result
hres = conn.Exec(sentencia_sql)


hres contiene los datos y cada vez que hres cambia, refrescamos manualmente el gridview y éste mostrará los datos actualizados.

En el foro encontrarás algunos hilos donde se habla del evento _Data() y cómo usarlo, y también en la web oficial de gambas. Si tienes dudas abre un nuevo hilo o responde en alguno relacionado con el título "Evento Data".

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ver Los Datos De Una VISTA Mysql Con Un Datasource + Dataview 
 
Yo utilizo vistas contínuamente. Lo que has elegido mal es el componente para verlas. Un data source necesita explorar el origen de los datos (la tabla) para averiguar su campos, sus tipos y demás zarandajas. Utiliza en su lugar un gridView y no tendrás ningún problema.
Si no te gusta ese componente y sigues queriendo utilizar el data source, no uses vistas, usa tablas temporales (CREATE TEMPORARY TABLE... o algo así, hace tiempo que no lo uso) que también funciona muy bien y que sí genera tablas "reales" que el datasource comprende.

Suerte.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ver Los Datos De Una VISTA Mysql Con Un Datasource + Dataview 
 
Hola, perdón por la tardanza, pero como siempre, cuando las cosas funcionan, uno se toma más tiempo en volver por aquí!
Quería simplemente agradecerles las sugerencias.
Efectivamente terminamos ejecutando querys manualmente y cargando GridViews a medida, ningún problema al respecto.
Quizás sea una pena que los DataViews no sean más flexibles en cuanto al query que los llena, pero tampoco es tan grave.

Nuevamente, gracias!
 



 
fermar - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
10.00 10 10 1
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Cargar Datos A Datasource francobe Bases de Datos 3 Jueves, 16 Enero 2014, 23:30 Ver último mensaje
francobe
No hay nuevos mensajes Cerrar Una Conexión A La Base De Datos Co... bies88 Controles/Librerías/Componentes 3 Miercoles, 21 Julio 2010, 12:40 Ver último mensaje
bies88
No hay nuevos mensajes Mostrar Datos En Dataview A Partir De Un Q... pskotler Bases de Datos 4 Martes, 24 May 2011, 13:22 Ver último mensaje
pskotler
No hay nuevos mensajes Ejemplo DeL Patrón MODELO-VISTA-CONTROLAD... jsbsan General 5 Sabado, 03 Agosto 2013, 21:24 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario