On Tue, 14 Mar 2017, PICCORO McKAY Lenz wrote:
> how can i made?
> 
> i wish to handle the resultsets like php does:
> 
> foreach ($resultobjusuario as $column => $row)
>                         $arraydata[$column] = $row;
> 
> this made me a map (like collections in gambas) where the index key its the
> column table name, and the value its the column currentl field value.
> 
> any ideas?, please without made a class for the results! KISS rules
> 

The Result object has a Fields attribute. You use it like this:

  '' Return the record ~hResult~ points to as a Collection. Keys are the column 
names.
  Private Sub ResultToCollection(hRes As Result) As Collection
    Dim cMap As New Collection
    Dim hField As ResultField

    For Each hField In hRes.Fields
      cMap[hField.Name] = hRes[hField.Name]
    Next
    Return cMap
  End

But you have to be careful with what the database driver gives you as the
column name. Testing this with an sqlite3 database, I got column names like
"id, name" when I did a "SELECT *" but I got "table.id, table.name" when I
did an explicit "SELECT id,name". So depending on the SELECT, it had the
table name and a dot prepended. There seems to be a PRAGMA [1] to control
this behaviour in sqlite3 but it's deprecated. Don't know about other DBMS.

Regards,
Tobi

[1] https://sqlite.org/pragma.html#pragma_short_column_names

-- 
"There's an old saying: Don't change anything... ever!" -- Mr. Monk

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

Reply via email to