Retrieving mysql columns by name
[1/4] from: didier::jacquemart::libertysurf::fr at: 7-Apr-2002 11:31
To retrieve mysql data, i wrote this program ... sqlchain: "select .... join ...." insert db sqlchain fic: copy db foreach row fic print row/1 ... Is it possible to retrieve the columns with their name ("numliv"), rather than with their order number in the row? I think about a series that would contain the names of the fields; that would then give the order number trough a function call. How can i fill in automatically this series. Does a solution already exist.
[2/4] from: bobosity:ho:tmail at: 7-Apr-2002 21:22
Select * from mydb will return the columns in thier original order Try this: "select column3, column9, column2 from mydb" Substitute your column names :)
[3/4] from: g:santilli:tiscalinet:it at: 8-Apr-2002 10:15
Hi Didier, On Sunday, April 07, 2002, 11:31:36 AM, you wrote: DJ> Is it possible to retrieve the columns with their name ("numliv"), rather than with their order number in the row? Are you using Command or Nenad's protocol? Regards, Gabriele. -- Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r
[4/4] from: didier:jacquemart:libertysurf at: 8-Apr-2002 23:08
Thank you for answering my question. Here's another one. --------------------------------------------- I wrote this program : ;; this is the list of columns in my Mysql request zlistechamps: copy [ "livnum" "livtit" "livaut" "livcat" "livdif" "autnum" autabr "autcom" ] getcol: func [ prow 'pnom ] ; prow is the row i get from mysql request ; pnom is the name of the field i want to retrieve [ use [ xind ] [ xind: index? find zlistechamps pnom pick prow xind ] ] I then get my values by : print getcol row "livnum" print getcol row "livtit" print getcol row "autcom" which is equivalent to print row/1 print row/2 print row/8 This way seems to me much more easy and self-explaining than using order numbers. It has the advantage to be request independent. Last problem to solve : How can i automatically create the list of fields in zlistechamps; can i retrieve the columns names from mysql, in a manner like show columns from table . The difference is that the sql request is not upon a table but is a join request. Further, I think the ultimate goal would be object oriented programming, something that could look like this : rq: open_request("select .....") rq/next x: rq/fields "livnum" ... It's just an idea from a newbie in Rebol (i don't even know if the syntax is correct); perhaps does this already exist ? Thank you.