Android Question What is the best SQLite data browser to use?

Hello!
Can you please tell me which SQLite data browser is preferable to use today?
My database consists of several tables with a fairly complex structure with not very many records.

I see a lot of bad reviews for the classic ""DB Browser for SQLite"", but maybe users didn't explore it well enough.


Thank you very much in advance.
 

Shelby

Well-Known Member
Licensed User
I love the ease of use of the DB Browser. I discovered that if I change the word False to True in the following line, I then have easy and fast editing/updating of any text in the DB Browser. It's also free.

If File.Exists(DBFileDir, DBFileName) = False Then ......

That line is from module: B4XMainPage.
 
Last edited:
Upvote 0

Guenter Becker

Active Member
Licensed User
Hi, DBWeaver (free) or the best I think SQLite Expert Professional.
 
Upvote 0

epiCode

Active Member
Licensed User
I've been using SQL DB Browser for quite sometime but after some recent updates it stopped allowing import of empty cells from csv files and replaces them with NULL, which is additional work to convert them from NULL to empty.
Which led me to switch to SQL Studio which is equally amazing with better UI and better import/export of csv files.
 
Last edited:
Upvote 0

Mahares

Expert
Licensed User
Longtime User
All the above mentioned PC SQLite browsers are good. I use one of them occasionally. I prefer to do all the CRUD commands on the device. It gives me a better feel of how the CRUD (Create, Read, Update, Delete) commands really work.
The dilemma comes when the PC browser program has a later version that that of the device used (Tablet/Phone), which is most of the case. For instance the IIF function works well on a PC browser with version 3.36 because the IIF fumction was released in version 3.32.0. But if you try to use it on a device with version SQLite prior to 3.32, you are out of luck and start scratching your head why it is working on PC, but not device.
 
Upvote 0

Magma

Expert
Licensed User
Longtime User
All the above mentioned PC SQLite browsers are good. I use one of them occasionally. I prefer to do all the CRUD commands on the device. It gives me a better feel of how the CRUD (Create, Read, Update, Delete) commands really work.
The dilemma comes when the PC browser program has a later version that that of the device used (Tablet/Phone), which is most of the case. For instance the IIF function works well on a PC browser with version 3.36 because the IIF fumction was released in version 3.32.0. But if you try to use it on a device with version SQLite prior to 3.32, you are out of luck and start scratching your head why it is working on PC, but not device.
You have right..
Also when you want get total rows, at PC works sql count... but on android... not
 
Upvote 0

Mahares

Expert
Licensed User
Longtime User
when you want get total rows, at PC works sql count... but on android... not
What exactly do you mean. You can get the row (record) count on the device easily with rs.RowCount and with other ways. Give an example with code.
 
Upvote 0

Magma

Expert
Licensed User
Longtime User
What exactly do you mean. You can get the row (record) count on the device easily with rs.RowCount and with other ways. Give an example with code.
sorry i was talking about pc - b4j... in b4a ofcourse rowcount works... but in b4j (not exists):

So a way getting row count is:
B4X:
            cursordb=datadb.ExecQuery("SELECT count(*) FROM " & SQLtable)
            rec=(cursordb.GetInt2(0))
...but this code not works on B4A !!!!

work only with this way:
B4X:
        cursordb=datadb.ExecQuery("SELECT count(*) FROM " & SQLtable)
            Do While cursordb.NextRow
            rec=(cursordb.GetInt2(0))
            Log(rec)
            Loop

need to be in a loop... why that ?
 
Upvote 0

mcqueccu

Well-Known Member
Licensed User
Longtime User
...but this code not works on B4A !!!!
You are missing cursor position

B4X:
 cursordb=datadb.ExecQuery("SELECT count(*) FROM " & SQLtable)
 cursordb.position = xx '<-------------replace xx with 0 or loop counter
 rec=(cursordb.GetInt2(0))
 
Upvote 0
Top