-
Posts
4,939 -
Joined
-
Days Won
305
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by ShaunR
-
-
That's another story... I'll do it soon. Here is some preview
Can't wait for the Labview version of Halo
-
- Popular Post
- Popular Post
Name: SQLite API
Submitter: ShaunR
Submitted: 05 Oct 2010
File Updated: 05 Jan 2011
Category: Database & File IO
LabVIEW Version: 2009
License Type: Other (included with download)
SQLIte API
This LAVA Code Repository Download is no longer distributed or supported by LAVA.
Please follow this link for further support.
Description:
This is a Labview API wrapper for the SQLite dll.
From the authors of SQLite:
"SQLite is a in-process library that implements a self-contained,
serverless, zero-configuration, transactional SQL database engine.
The code for SQLite is in the public domain and is thus free for use
for any purpose, commercial or private".
More information can be found on the SQLite website http://www.sqlite.org.
The LabView API contains all the basic SQLite features but it is not a full implementation.
However, it is comprehensive enough to satisfy most application requirements for
a databse enabled application and the featurelist will grow with each new release.
Currently supported features include:
Creating, deleting, listing and renaming tables and columns.
Selecting, inserting, updating and deleting records.
Retrieving SQLite system informaion.
"Onlne" database backup.
"On Insert", "On Delete" and "On Update" Triggers.
File Import.
Query Saving.
Installation:
Unzip to a directory of your choice.
Install the pallet menu file (.mnu) provided.
Required Packages:
Labview (Win x32, x64,) 9.0 or greater.
SQLite DLL (Included).
Supported Environments.
Windows x32, x64
Known Issues.
Cannot use semicolons ";" in values when using "Query Transaction" polymorphic instance.
Workaround: Replace semicolons with another character (e.g. tilda "~") or use the standard "Query" or "Query By Ref" VIs.
Versioning:
Current version 1.2.1
New Feature: Added "Conflict Clause" to SQLite_Insert and SQLite_Insert Table.vi (allow replace, fail ect)
Performance: Changed "SQLite_Prepare.vi" and "SQLite_Bind.vi" to pass data as a U8 array rather than string.
Performance: Changed "Insert" (SQLite_Insert Row.vi) to use "Insert Table". (All inserts now use prepared statements.
Performance: Changed some low level VIs to re-entrant for better concurrency.
Bug Fix: Changed all polymorphic API VIs to show instance icon.
(some context help for VI was not being displayed when set to polymorphic VIs' icon)
Bug Fix: Exposed "Distinct" boolean on "SQLite_Select.vi". (No terminal on compane).
Bug Fix: Replaced some cursor "Unset Busy" with "Set Busy" in SQLite DB Manager.
Bug Fix: Changed "SQLite_Bind.vi" to force sqlite dll to use local copy of data.
(Fixes reported bug in LVx32 insering the same data in multiple columns).
Changes: Changed icon on "Insert Table" to make more visually discerning from "Insert".
Version 1.2.0.0
See changelog.txt.
Special Thanks to
Gepponline
MattW
Contact:
PM ShaunR on lavag.org (http://www.lavag.org)
This LAVA Code Repository Download is no longer distributed or supported by LAVA.
Please follow this link for further support.
-
3
-
It seems that the amount of work involved isn't proportional to the price you're suggesting. Why so much? I can't afford it
If it is full blown implementation then it is a lot of work. I think, however, most people only need/use the basics. I just hope its not ADO or .NET.
-
1
-
-
Too bad they don't have something that goes the other way.
I wonder how well this actually works.
I assume its an offshoot from their embedded tool kits (you can't run LV on for example an ARM processor). where you write stuff in LV and it generates the C code which you then have to compile using a C compiler. The other way round would be awesome.
-
Can't wait for the JKI Virus Scanner
-
-
I just realized I'm about to hit 500 posts on LAVA. I would have probably preferred if #500 was a deep treatise on some esoteric feature of LabVIEW that will change the programming world as we know it. But we all know that ain't happening anytime soon. Maybe post #1000...
Cat
Do we get cake?
-
Where can I buy one of those buttons?
And does it come with LV drivers?
-
See, this is just more proof I'm not a true LV geek.
So what are you trying to say Cat eh?
-
I've used the Sick LMS200 before - it's a pretty neat sensor that's easy to integrate with: http://www.pages.dre.../sick/sick.html
$5,771.42
For that price I'd expect it to take out scud missiles from 10 km
-
Hello there...
Actually i doing a thesis about "Automated Car Parking System by using LabVIEW" ..
i have to design a system the can controlled a car in and out, counting and then will know have many parking left,
to make a driver feel convenient..
I have facing a problem to know how LabVIEW can detect physical system like sensor. and through the sensor can be a counter to counting a car in car park./
Hopefully, anyone which have a knowledge can share with me...
Thank you..
Labview is designed for interfacing to sensors.
What is your budget?
How much time do you have?
Can you build simple or complex electronic kits?
Can you program micro controllers?
Can you use a multi-meter?
Don't be frightened by the questions. I'm just trying to get an idea of your skills.
-
Hi all,
Where can I find the internet tool kit for LabVIEW 8.6(Internet toolkit 6.0.2)? I searched in NI site. But I cannot able to find it? Could you please help me for finding this?
I have 2010 toolkit. But no 6.0.2 for 8.6 version of LabVIEW
Thanks in advance,
Suresh Kumar.G
I believe 6.0.2 is the one shipped with LV2010. Its for versions 8.6 and above.
-
I have 3 machines at home. 2 are x64 1 is x32. One of the x64s has both x32 and x64 labview. I don't have any problems switching between OSs or labview. But there are some things to bear in mind.
32 bit dlls will work on a 64 bit machine, but you can't use LVx64 (must use LVx32t)
x64 dlls won't work at all on a 32bit OS. (you will get load errors if you try to use LVx32 to load them). Likewise 64bit applications written in LV will not work on a x32 machine.
LV must recompile between x32 and x64 every-time you load (the whole hierarchy) which might be a bit of a nightmare for your source control if switching to and fro.
Editing with LVx64 on a x64 OS is like lightning. LVx32 runs like a slug. Anything pure labview (like scripting) is totlay interchangeable. Install BOTH
-
Isn't the array intersection the result of the terms present in both arrays? You show the list of terms that are present at least in one, not both.
Indeed. It was a quick demonstration of a theory rather than a solution. If you change it like so......
Then you get unique intersection values for example.
There's no need to concatenate in a loop at all here. You know in advance that the intersection array cannot be larger than the smaller of the two input arrays, so you can preallocate an array of that size. Track the current array index in a shift register. Each time there's a match, use replace array subset instead of build array, and increment the array index. When the loop finishes, resize the array to the final value of the index shift register. This is much faster than concatenating in a loop.
Sweet. that'd be even faster
-
I thought I'd seen this problem bedore
Here is another method that's similar to your first one rather than the second. This VI (wrote it a while ago now) returns the array differences but the theory is the same.
Slightly different in that it actually does a search and eliminates data, therefore reducing the data set as it goes. Its very quick especially if the duplicates are sparse and isn't explicitly linked to the data-set size, rather the number of duplicates.
-
Array indexing inside a for loop is a killer. Actually concatenating isn't too bad due to optimisations (LV is very efficient with For-loops). I vaguely remember a challenge from Jim Kring to find a better method than concatenating for selecting arbitrary values from an array. I don't think there were any takers.
So assuming that we have to concatenate in some form or another the best we can hope for is pre-processing. Along this line what about finding turning points? Maybe faster, maybe not but it would uses in-build functions (generally faster than native LV) and eliminate the array indexing.
-
Hi all,
I've took a look at this and it seems, as far as I can see, the "NI implementation" is quite more complex due to the execution on RT target. SQLiteVIEW only needs sqlite3.dll (or .so for linux OS) to run. Our toolkit also provides way to improve query execution performance using statement features and we have lot of other useful features to add to improve the end-user development experience.
Stay tuned to evaluate our toolkit for free. We are looking forward to know your feelings about it.
Regards
Actually I would say the opposite..... Its too simple
But probably sufficient for most users. Why they went for an intermediate "wrapper" dll is beyond me. I guess NI has more C programmers than LV programmers nowadays (or maybe just lazy to implement the switching in LV). But the wrapper is only half a page (excluding comments, spacing) basically just opening, preparing and executing the SQL.
The fact that it supports RT targets isn't that complicated (conditional disable structure). But it overlooks a lot of DB functionality (parametrised queries for example).
I would ignore the RT targets at your peril. This is the only viable database solution available for RT and (IMHO) why most LV users are interested. And, as I intimated earlier, all you need is a conditional disable and a DLL compiled for the targets (that's where most LV users will come up against a brick wall if they want to "roll-their-own") . There are many FREE db solutions for windows and linux (don't forget MAC too)
You might also consider providing a "drop-in" replacement for the NI Database Toolkit to allow users to easliy switch/update to SQLite. Nothing sells a product quicker than an easy upgrade path
If your engineers are suggesting an implementation in .NET. Slap them for me please
-
OOP as in LVOOP as in LabVIEW OOP?
Hope you're pronouncing that correctly
-
Nope, its a LabVIEW thing
Nope. Its an OOP thing
-
I just figured the sound for audio recordings would not be as good as a PC Headset?
yer.. sure...
Sound isn't maybe as good. But that's what I've got a 200W stereo for
Mic isn't bad, fine for yahoo, skype, voice chat etc but not studio qualty. Don't forget they are heavily compressed and filtered to reduce bandwidth so even with a studio mic your gonna sound crap.
-
I use my phones bluetooth headset . Had it about 3 years and its the only mobile headset that stays in my ear
Good range. Good quality. Good volume. Can't fault it for general purpose. Works with everything.
Movon MF120 http://www.prepaymania.co.uk/mobilephone/generic-movon-mf120-bluetooth-headset.html
Mine ISN'T pink by the way...lol.
-
Thanks. I should hang around LAVA more often.
Naaah. You probably have a real life
-
I want it now!
Then take a look at this
-
How to get a top level application to detect a spawned task exit
in User Interface
Posted
Check the "VI's in memory" list?