Confused about storing arrays in a custom property
bobs at twft.com
Mon Aug 22 12:42:04 EDT 2011
I wonder if you shouldn't be using binary?
On Aug 21, 2011, at 11:35 AM, Pete wrote:
> Thanks Richard, writing to a file (an sqlite database actually) is exactly
> what I want to do.
> However, I'm running into a problem with this. I believe I have written the
> data correctly to the database as a BLOB column, but when I read it back
> from the database and use arraydecode to make it into an array again, I get
> a runtime error that just names the line and character with no indication of
> what the error is.
> Here's what I do to put the data into the db and retrieve it.
> Updating the DB:
> *put* "UPDATE qdProperties SET qdPropertyValue=CAST (:1 AS BLOB) WHERE
> qdPropertyID=5304" into mySQL
> revExecuteSQL 1,mySQL,"*bmyencodedarrayinput"
> Getting the data back again:
> *put* revQueryDatabase(1,"SELECT qdPropertyValue FROM qdProperties WHERE
> qdPropertyID=5304") into myRset
> *put* revDatabaseColumnNamed(myRset,"qdPropertyValue") intomyencodedarrayoutput
> *put* arraydecode(myencodedarrayoutput) into myNewArray
> It's that last line of code that throws the run time error.
> I'm pretty sure the runtime error is because the binary data that comes back
> from the db is not a valid encoded array but I have not used BLOB data in
> dbs before so not sure if what I am doing is the correct way to
> store/retrieve it. If anyone has experience with this, would be grateful
> for some input.
> Molly's Revenge <http://www.mollysrevenge.com>
> On Sat, Aug 20, 2011 at 2:28 PM, Richard Gaskin
> <ambassador at fourthworld.com>wrote:
>> Pete wrote:
>>> Next issue is using combine and split with multidimensional arrays. It
>>> seems like they only work for a single dimension array. I guess to use
>>> with multidimensional arrays, you have to apply them to each level of
>>> key? Maybe a recursive function of some sort?
>> Split and combine translate data to and from simple delimited lists, and
>> since lists aren't hierarchical by nature there is no meaningful action that
>> can be performed with those commands on multi-level data.
>> If the goal is to store an array on disk for later use, see the arrayEncode
>> and arrayDecode functions.
>> Richard Gaskin
>> Fourth World
>> LiveCode training and consulting: http://www.fourthworld.com
>> Webzine for LiveCode developers: http://www.LiveCodeJournal.com
>> LiveCode Journal blog: http://LiveCodejournal.com/**blog.irv<http://LiveCodejournal.com/blog.irv>
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
More information about the Use-livecode