> Terence Heaford <t.heaf...@icloud.com> wrote:
> 
> This line gives a syntax error, obviously because an array does not work in 
> merge?
> 
> put merge("SELECT [[tColumns]] FROM '[[tTable]]' [[myArray["test"]]] 
> [[tSortOrder]]") into tSQL
> 
> Is there a way around this or do I have to resort to using &?



Method 1: Turn it into a 2-liner:

--------
put myArray["test"] into tTest
put merge("SELECT [[tColumns]] FROM '[[tTable]]' [[tTest]] [[tSortOrder]]") 
into tSQL
--------



Method 2: Have the entire string to be merged already stored elsewhere:

--------
put merge(the uSQL of me) into tSQL
--------
or
--------
put merge(url "file:sql.txt") into tSQL
--------

where the custom property "uSQL" or the file "sql.txt" already contains the 
string:

SELECT [[tColumns]] FROM '[[tTable]]' [[myArray["test"]]] [[tSortOrder]]



Method 3: Use a function to represent an array:

--------
local myArray -- make sure this is outside both handlers

function myArray pString
   return myArrayTest[pString]
end myArray

on doStuff
   -- some stuff here
   put merge("SELECT [[tColumns]] FROM '[[tTable]]' [[myArray(test)]] 
[[tSortOrder]]") into tSQL
   -- more stuff here
end doStuff
--------

This last method works as long as the name of the key ("test" in your example) 
isn't a LiveCode reserved word.


Hope this helps! :)

Lyn




_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to