On 10/26/2015 3:25 PM, Dr. Hawkins wrote:

There is a custom property (call it theProp) with a value like

"SELECT foo FROM " & tableName & " WHERE (bar > 7) AND (animal<>'cat');"



So those quotes and & are in the string to be evaluated.

My understanding of parsing is that the first piece should evaluate to

SELECT foo FROM


the second to

SELECT foo FROM


and the third to

WHERE (bar > 7) AND (animal<>'cat');


and when concatenated produce a string of

SELECT foo FROM theRealTableName WHERE (bar > 7) AND (animal<>'cat');

That is, I should get three strings, the first and last literals, and the
middle from evaluation of the variable name, which in turn should
concatenate by the &.

Instead, though, the quotation marks in the third string are ignored, and
instead of treating it as as string literal, an attempt is made to evaluate
it.

I'd use the merge command here. Make a custom property like this:

SELECT foo FROM [[theRealTableName]] WHERE [[compare1]] AND [[compare2]];

In the script:

put "(bar > 7)" into compare1
put "(animal<>'cat')" into compare2
put "realName" into theRealTableName
put merge(the cProp of me) into tCmd
revExecuteSQL tID,tCmd

You may need to add some quotation marks somewhere in there.

--
Jacqueline Landman Gay         |     jac...@hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com

_______________________________________________
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