Hi.
Which is the best SBASIC setup in order to start programming a QL custom Database application ?
Ex. Pointer Enviroment, Compiler, Toolkit, DBAS (?), Suqcess (?), DB API, ...
Thanks in advance.
M.
Starting programming.....
Re: Starting programming.....
What do you mean by programming a Database?genetika wrote:Hi.
Which is the best SBASIC setup in order to start programming a QL custom Database application ?
Ex. Pointer Enviroment, Compiler, Toolkit, DBAS (?), Suqcess (?), DB API, ...
The familiar PSION Archive is the only one that easily lets you create a program to manipulate one or more _dbf databases.
Another option is DATAdesign. This needs the PE to run and only lets you create a database (_ddf) and view, filter and sort or change its contents. However there is a set of keywords in the API to write your own program in S*Basic to process related _ddf files.
DBAS has more or less the same options with a different database format (_dbs).
SUQcess is like the DATAdesign_exe only a front-end for this _dbs format to create, manipulate and view a single database.
Each format has its strong points and weaknesses.
The _dbf format is the most limited in terms of field size or types and number of records allowed.
The _ddf format is the most versatile and has few limitations while DBAS's _dbs fits somewhere in between.
Bob
Re: Starting programming.....
I always just used flat files or linked lists. It's not like a QL program usually has complex data requirements.
I personally prefer flat files. They occupy more memory, but they are quicker to index and easier to save/load only the specific entries you want if each record set starts on a ^2 boundary.
I personally prefer flat files. They occupy more memory, but they are quicker to index and easier to save/load only the specific entries you want if each record set starts on a ^2 boundary.
- NormanDunbar
- Forum Moderator
- Posts: 2276
- Joined: Tue Dec 14, 2010 9:04 am
- Location: Leeds, West Yorkshire, UK
- Contact:
Re: Starting programming.....
The answer has to be "it depends" and it does depend on what the database is intended to hold.
Archive is ok, but has some problems if files are not closed correctly and rumours abound of corrupted databases files for other reasons. I've had a few in my time with nothing more sinister than the freezer starting up while I was writing data back to the database. Most annoying, but hey, backups!
I've never used Datadesign so I cannot comment.
DBAS, I have used. It can be called from SuperBASIC, C68 and I think, assembly. I quite like it, although it's been a while since I last had to write something using it. Unless things have changed, the Quanta Library Guide was written in C68 using DBAS as the database back end, by me, some years (decades!) ago. It's reasonably fast and I never had a corruption, freezer or otherwise.
Given the ability these days to set file positions using some of the various toolkits around, Turbo, DJToolkit, TK2 etc, you could easily write a database system using simple files and if the records were all the same size, you can easily get random access to various records using the record number -1 multiplied by the record length to get the starting position in the file. An index on other "columns" in the record could be created simply by holding the key field(s) and a record number in another database table (or even database) - lookup the index fields, get the record number(s) and read the required data from the database.
These flat files can be accessed in SuperBASIC, C68, Assembly and probably a myriad of other languages available for the QL.
If you drop a few hints about the intended purpose, and proposed data structures or layout, we'll be glad to offer further assistance.
Cheers,
Norm.
Archive is ok, but has some problems if files are not closed correctly and rumours abound of corrupted databases files for other reasons. I've had a few in my time with nothing more sinister than the freezer starting up while I was writing data back to the database. Most annoying, but hey, backups!
I've never used Datadesign so I cannot comment.
DBAS, I have used. It can be called from SuperBASIC, C68 and I think, assembly. I quite like it, although it's been a while since I last had to write something using it. Unless things have changed, the Quanta Library Guide was written in C68 using DBAS as the database back end, by me, some years (decades!) ago. It's reasonably fast and I never had a corruption, freezer or otherwise.
Given the ability these days to set file positions using some of the various toolkits around, Turbo, DJToolkit, TK2 etc, you could easily write a database system using simple files and if the records were all the same size, you can easily get random access to various records using the record number -1 multiplied by the record length to get the starting position in the file. An index on other "columns" in the record could be created simply by holding the key field(s) and a record number in another database table (or even database) - lookup the index fields, get the record number(s) and read the required data from the database.
These flat files can be accessed in SuperBASIC, C68, Assembly and probably a myriad of other languages available for the QL.
If you drop a few hints about the intended purpose, and proposed data structures or layout, we'll be glad to offer further assistance.
Cheers,
Norm.
Why do they put lightning conductors on churches?
Author of Arduino Software Internals
Author of Arduino Interrupts
No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
Author of Arduino Software Internals
Author of Arduino Interrupts
No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
Re: Starting programming.....
Hi.
I would like to create a personal software to manage a club
- a software that allows the storage and search of the members' data and related payments, as well as the club management.
A test app, not a production app, only to try my SBASIC abilities.
M.
I would like to create a personal software to manage a club
- a software that allows the storage and search of the members' data and related payments, as well as the club management.
A test app, not a production app, only to try my SBASIC abilities.
M.
NormanDunbar wrote:The answer has to be "it depends" and it does depend on what the database is intended to hold.
Archive is ok, but has some problems if files are not closed correctly and rumours abound of corrupted databases files for other reasons. I've had a few in my time with nothing more sinister than the freezer starting up while I was writing data back to the database. Most annoying, but hey, backups!
I've never used Datadesign so I cannot comment.
DBAS, I have used. It can be called from SuperBASIC, C68 and I think, assembly. I quite like it, although it's been a while since I last had to write something using it. Unless things have changed, the Quanta Library Guide was written in C68 using DBAS as the database back end, by me, some years (decades!) ago. It's reasonably fast and I never had a corruption, freezer or otherwise.
Given the ability these days to set file positions using some of the various toolkits around, Turbo, DJToolkit, TK2 etc, you could easily write a database system using simple files and if the records were all the same size, you can easily get random access to various records using the record number -1 multiplied by the record length to get the starting position in the file. An index on other "columns" in the record could be created simply by holding the key field(s) and a record number in another database table (or even database) - lookup the index fields, get the record number(s) and read the required data from the database.
These flat files can be accessed in SuperBASIC, C68, Assembly and probably a myriad of other languages available for the QL.
If you drop a few hints about the intended purpose, and proposed data structures or layout, we'll be glad to offer further assistance.
Cheers,
Norm.
Re: Starting programming.....
Both DATAdesign and DBAS can be programmed in SBasic.genetika wrote:Hi.
I would like to create a personal software to manage a club
- a software that allows the storage and search of the members' data and related payments, as well as the club management.
A test app, not a production app, only to try my SBASIC abilities.
The full DBAS package (Dilwyn's site) comes with basic examples on using its keywords and is the simpler of the two but I think more than capable for your club's needs.
Quantum Technology uses DBAS for the Black Phoenix configuration files and most of its programs.
Bob
- NormanDunbar
- Forum Moderator
- Posts: 2276
- Joined: Tue Dec 14, 2010 9:04 am
- Location: Leeds, West Yorkshire, UK
- Contact:
Re: Starting programming.....
I agree, go for DBAS. But try out a few ideas before you dive into your main application.
Good luck.
Cheers,
Norm.
Good luck.
Cheers,
Norm.
Why do they put lightning conductors on churches?
Author of Arduino Software Internals
Author of Arduino Interrupts
No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
Author of Arduino Software Internals
Author of Arduino Interrupts
No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.