Como Uso Resultset En Collecciones Asi Como Php Hace Con Arreglos, Indice Como Columnas


Subject: 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!

Profile PM  
Subject: 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...

Profile PM  
Subject: 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)

Profile PM  
Subject: 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

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.0909s (PHP: -36% SQL: 136%)
SQL queries: 23 - Debug Off - GZIP Enabled