array and revExecuteSQL

Bob Sneidar bobsneidar at iotecdigital.com
Wed May 15 11:40:17 EDT 2019


I believe you need to surround the placeholder with single quotes. 

>> put "UPDATE `t_test` SET `Text` = ':11' WHERE `Nummer` = ':22';" into StrSQL

Also you can lose the semicolon as LC will only execute one statement at a time. You cannot string statements. 

Bob S


> On May 15, 2019, at 06:46 , axwald via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> Hi,
> the notation for revExecuteSQL you mention only works with 1-digit numbers
> (in my LC 6.7.10).
> Named arrays and 2- or more digit entries don't work - LC doesn't translate
> 'em. You can easily check this with your favorite network sniffer:
> 
>> put "bText" into myArr[11]
>> put "99" into myArr[22]
>> put "UPDATE `t_test` SET `Text` = :11 WHERE `Nummer` = :22;" into StrSQL
> sends this to the database:
>> UPDATE `t_test` SET `Text` = :11 WHERE `Nummer` = :22;
> and this fails, for sure.
> 
> Correctly used:
>> put "bText" into myArr[1]
>> put "99" into myArr[2]
>> put "UPDATE `t_test` SET `Text` = :1 WHERE `Nummer` = :2;" into StrSQL
> sends this to the database:
>> UPDATE `t_test` SET `Text` = "bText" WHERE `Nummer` = "99";
> 
> So the error is in LC, dunno if the newer versions do better. Or the
> limitation just isn't mentioned in the dictionary.
> And since LC obviously just does a simple & limited replace, you could use
> merge() as well.
> 
> Have fun!
> 
> 
> 
> -----
> • Livecode programming until the cat hits the fan •
> --
> Sent from: http://runtime-revolution.278305.n4.nabble.com/Revolution-User-f278306.html
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



More information about the use-livecode mailing list