SQLite files application reader

I took some times yesterday to add a Save to a SQLite db file feature * to my List manager and it went fine.

Once done, the generated file was 455KB and I assumed everything went OK,BUT the usual question arise: what do I store in the data base file ?

Then I recall an application I shared here on August 30, 2015 here (OS X and WIndows).

I found a version, run it, load my .sqlite file (the file have to have this type extension) and was happy to see my three Tables and the sqlite_master (SQLIte) own table: everything was created and saved OK.

There is a second window that allows to decrypt the SQLite file properties (Header String, Page Size, File Change Counter, etc.). Nice.

I am proud to wrote this application and this is the reason I created this new conversation: let you know you can use it instead of searching anywhere to get say a Firefox plugin or…

Nota: the application only let you watch what is in the .sqlite file. IF you cannot open your SQLite file, check its type extension and eventually change it (temporary) to .sqlite.

Also: I do not recall its status and I am quite sure that it can be modified to be better, far better. If you have suggestions, drop a message.

Enjoy.

  • The Open feature will come later this week (I hope).

just download and try to open a table above 100 columns and it crashed!!

sh… SORRY.

On the other hand, I do not had a sqlite db file with so many Tables.

I recall something: at some stage, on some tables (empty ?), the application crashed. I will test that this afternoon with the project I have (I do not know if this project is the last or the last died in a Hard Disk formatin last september.

The other window works fine.

PS: I do not have this version yesterday, at home, so… sorry.

Hi Richard, all:

I uploaded minutes ago a new version that does not crash if the RecordSet is empty --> Select a Table leads to a crash for both OS X and Windows.

BTW: if you want to watch the data or the CREATE TABLE used in the .sqlite and .db files (created with SQLite), you can Copy the entry from the ListBox (right of the window).

Before I forgot: I added .db and .rdb as type extensions so now these can be opened without changing them to .sqlite.

Both applications (as zip) are here .

These were build using Xojo 15r1.

I took the opportunity to remove a lot of things not related to the application purpose (line icons for txt and csv files…).

While I tested and retested the OS X version yesterday evening, I just realized that I do not took the time to do so on WIndows (I was really tired yesterday and slept as soon as I was in bed… leavint the computer on nap for the whole night.

As usual, if something wrong appears, feel free to tell me (with how to replicate it if possible).

The updload is done now.

still have problem with my stock table with 145 fields. got the out of bound exception error. even on an empty table with 145 fields.

try with a table with 30,000 record but about 30 fields and it is ok.

Hi Richard,

I will take some time at a low busy area to look at that.

I checked if rs = nil not if db.Error…

That may be that !

But with Xojo own LangRef db file with one empty table, it works fine (it crashed previously): that is the reason I did not search more.

One more sorry Richard.

Hi Emile,

it is all right… just help you with testing this.

Don’t worry about it. just look into it when you are not too busy.

Here’s one that actually works, and it shows you the queries it uses so that you can use them in your code if you need help.
http://sqlitebrowser.org

Hi Tim,

thanks, I will get an eye on it.

Actually, I am asking myself if the trouble comes because I load the whole Table contents into the ListBox.

I was not in good mood yesterday, and I only added two features: save to text the list of Tables and the selected Table contents (what for ?). While driving my car, earlier, I was thinking that: what if the amount of loaded data is producing the crash ?
[after re-reading Richard answer] It does not seems so. My generated file only holds three Tables, one really have data, the other two have only one Row. All what I stocked into the file are text data (yes, some are dates, but stored as text).

BTW: sqlitebrowser.org is “far different” (and far matured) vs what I’ve done. I believe that I already go to that web site (the screen shot recalls me something).

My goal was not that ambitious: at first, I only wanted to not run Firefox and use the db extension there to watch what data base file I created, before I try to read that file. I do not like to have Firefox running “all the time”…

Above 100 columns !

Only 64 visibles columns available… with Xojo 15r1.

I load data with brute force: everything at once without checking if the number of columns is out of…

Sorry.

Sorry Richard.

ahhh… i have no idea the listbox control cannot show more than 64 column

Before 15r4, starting with it:

13421 Framework » All ListBoxes now support up to 256 visible columns.

BUT, it’s my fault: I had to make a check on the number of columns even if I never used more than a bunch (far less than 64) since REALbasic 1… (if it had db stuff in it at the time)

;-:slight_smile:

Thank you for testing.

PS: my license stopped with 15r1.

I added a check against Tables with more than 64 fields/Record:

OS X.zip
Windows

I add two buttons: one that save the db structure, one that save the db properties (one for each window).
I am working on another project that use SQLIte and had troubles with its contents. Now, I savethe Data Base structure (a file I create !) and can refer to it easilly… ;-:).

I also add a check at open time: only < 64 columns display is allowed. If your db have more columns, no data will be displayed.

I cannot build withXojo 15r4 or more recent, thus the 64 cols max test. (I do not know how to work around the display issue).

BTW: someone knows why the ending semi-colon is useless ? *

sql = "CREATE TABLE Team (ID INTEGER NOT NULL, Name TEXT, Coach TEXT, City TEXT, PRIMARY KEY(ID));" (from docs).

the ending semi-colon in the line above.

  • The CREATE TABLE line(s) stored in sqlite files does not show it, so one day, I checked if it is needed and I removed it from my CREATE TABLE line: the Table was created, etc.

The semicolon is required in command-line utilities (eg., sqlite3.exe), but is usually supplied for you by higher-level tools like Xojo.

Semicolon is the standard way to separate each SQL statement in database systems when more than one SQL statement needs to be executed.