Thanks Graham. I was trying to find that article but totally forgot the author’s name.
That’s where I got the “ATTACH” idea, but had not considered trying it in PROP:SQL before this week.
IMDD would certainly be more suitable for cases where you’d want to use appgen to create forms/browses. I don’t know if a TurboSQL table could be used in the same way (such as for inserting a record on a browse in the standard way). Seems like it would be more trouble than it’s worth in that regard.
I see tons of uses for the In-Memory SQLite, but not as a “which is better, IMDD or SQlite?” kind of thing.
But you can also use SQLite for non database related stuff too.
For example, in my demo app, try this:
!To create 4 random 10 character strings.
SELECT hex(randomblob(10)) as R1,hex(randomblob(10)) as R2,hex(randomblob(10)) as R3,hex(randomblob(10)) as R4
!Or select an INT as hex (This requires a newer version of sqlite3.dll because the one that ships with Clarion doesn’t suport printf():):
SELECT printf(’%08X’, 99119191)
You can get the SQLIte version of your sqlite3.dll in the demo too. The version I just downloaded is 3.32.2, but the shipping one is 3.7.11. Support for printf() came in 3.8.x
SELECT sqlite_version() AS Ver
These functions are all for free and it’s really simple to implement them.
https://sqlite.org/lang_corefunc.html
And date/time stuff (with caveats) https://www.sqlite.org/lang_datefunc.html
There’s a lotta neat stuff in there.