Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Como Uso Resultset En Collecciones Asi Como Php Hace Con Arreglos, Indice C...
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Como Uso Resultset En Collecciones Asi Como Php Hace Con Arreglos, Indice Como Columnas 
 
en php es tremendamente facil

del resultset despues de ejecutar el query

        foreach ($resultobjusuario as $column => $row)
                        $arraydata[$column] = $row;

me realiza un mapa (en un areglo) tal cual (parecido a la collecion en gambas) donde el nombre del la columna es el nombre del indice y el valor de este indice es el valor del campo del resultado actual en la iteracion

any ideas? por favor sin hacer clases para los datos!
 



 
mckaygerhard - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Uso Resultset En Collecciones Asi Como Php Hace Con Arreglos, Indice Como Columnas 
 
dim c as new collection
dim campo as resultfield
dim r as result

r=miconexion.exec(miconsulta) 'que devuelve un registro
for each campo in r.fields
    c[campo.name]=r[campo.name]
next

'o también
for each campo in r.fields
    c.Add(r[campo.name],campo.name)
next

Más o menos...
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Uso Resultset En Collecciones Asi Como Php Hace Con Arreglos, Indice Como Columnas 
 
umm estoy viendo que lo que realmente le falta al foro es estar mas activos..

la respuesta de shordi fue util y la misma de la lista en ingles, pero yo prefiero usar el espanol...

en la lista de ingles se agrego una informacion important4e y para CONTRIBUIR A ESTAR ACTIVOS voy agregarla aqui:

si el query sql es "SELECT * FROM ..." no hay problema, pero si es "SELECT col1, table.col2, col3 FROM table0 JOIN table1 ..." los fileds name se retornan junto con el nombre de la tabla... entonces agrege este codigo:

c[campo.name]=r[Replace(campo.name, Tablename & ".", "")]


este codigo es provisional, mejor es remover todo antes del punto, ya que el nombre de la tabla no es unico, varia segun el join...

Citar:
did an explicit "SELECT id,name". So depending on the SELECT, it had the
table name and a dot prepended.

Este comportamiento es muy correcto de las bases de datos, y sirve para determinar de donde vienen los campos y evitar un sql ambiguo (como el que produce GROUP_CONCAT si hay campos similares en mysql)
 



 
mckaygerhard - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Uso Resultset En Collecciones Asi Como Php Hace Con Arreglos, Indice Como Columnas 
 
¿y si los nombres de campo contienen puntos? ¿y si se incluye el esquema en el nombre de la tabla? Te puedes encontrar campos como `mibasededatos`.`mitabla`.`micampo.conpunto`

Mejor que meterte en esos berenjenales normaliza tus consultas SQL dando un alias único a cada columna devuelta. "Select tabla1.campo1 as 'Campo' from tabla1"... más o menos. Tu colección se rellenará sin problemas
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Expandir Las Columnas De Un Columview aristicol Controles/Librerías/Componentes 4 Viernes, 21 Enero 2011, 22:55 Ver último mensaje
aristicol
No hay nuevos mensajes Como Se Hace? Evento Al Dejar Precionado B... misael General 7 Martes, 03 Julio 2012, 19:58 Ver último mensaje
jguardon
No hay nuevos mensajes Como Borrar Tabla Y Dejar Su Id De Indice ... v3ctor Bases de Datos 4 Martes, 24 Marzo 2015, 22:48 Ver último mensaje
v3ctor
No hay nuevos mensajes Como Definir Un Array String Bidimensional... v3ctor General 2 Sabado, 23 Abril 2016, 00:12 Ver último mensaje
vuott
 

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

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
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
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron