Newbie question on database programming lazarus / 16-Databases ---------------------------------------------------------------------- Bart · 2010-12-10 14:43 Hi, I'm pretty unfamiliar with regards to database programming in Delphi/Lazarus. For most of my simple programs, I just used a proprietary format (mostly typed records based). However now I think that for what I want, I need some kind of database. What is the goal of the application? I want to store all client contacts that I have, so I can create different types of reports (hours worked per month, hours worked per client, specific tasks per client etc.) To summon up: there is only one employee (ever)there are many clientsthere are many (< 20) sorts of tasks performed for each clientthere are also some tasks that are not client-based (overhead) What should the program do for me? Main task would be to enter the tasks I have done. A task is either tied to a client, or it is overhead. I need to be able to add/remove clients I need to be able to add/remove types of tasks I need to be able to perform queries on the database. Questions What kind of database should I use? The program must be able to run on Win9x platform. Preferrably I would not have to install any software (like in D3 you had to install the BDE). If installing means only providing some third-part dll's, that's probably OK How should I set up the tables I guess setting up the proper database is the most important part. After that it is mainly a question of creating form's to access the relevant parts. Bart ---------------------------------------------------------------------- Leledumbo · 2010-12-10 14:53 QuoteWhat kind of database should I use? The program must be able to run on Win9x platform. Preferrably I would not have to install any software (like in D3 you had to install the BDE).If it's a single user system and doesn't need any protection mechanism, SQLite would suits you best. Otherwise, I suggest FireBird / PostgreSQL. QuoteHow should I set up the tablesYou need to learn database design theory ---------------------------------------------------------------------- Dibo · 2010-12-10 15:05 If only one user connect to database, you can use SQLite like Leledumbo suggested or Firebird embeded version (you don't need server, only one DLL in application folder). Both databases are free. Firebird is very well supported in Lazarus, because I wrote my diploma on this database (I used ZEOS components for connection). If you have no database experience, it's hard to write basics in one post. I recommend some book, like this ebook: http://www.ibphoenix.com/main.nfs?page=ibp_firebird_book ---------------------------------------------------------------------- SteveF · 2010-12-10 19:30 I noticed that you need this system to run under Win9x. I'm not sure where to check this, but you need to make REAL sure that both Lazarus and whatever database you choose will run in Win9x.  Otherwise, might I suggest something like MS Access 97 or 2000? Either version of Access has the capability to do what you want (I know -- I've built something similar to what you want in them), and will definitely run on a Win9x platform.  If you don't already have one or the other, since they're several versions old now, you should be able find them for a very low price. Steve ---------------------------------------------------------------------- Bart · 2010-12-12 11:56 Thanks for all the advice, I'll look into that. Firebird embeded sounds like something that meets my "demands". Maybe I can indeed get my hands on Access (or similar). In the past (mid 90's) I have worked with that. @SteveF: Lazarus runs just fine on WinME. My hardware is currently 10 years old, and I get some satisfaction from keeping it up and running (I dualboot with Suse 10.0). All the software I need to do what I want still runs (in older versions), but it's getting harder every year. If at some point either fpc or Lazarus isn't compatible anymore with Win9x or Suse 10, I see no other choice but to upgrade. Bart ---------------------------------------------------------------------- JimBeam · 2010-12-13 06:58 Hi, Seems the newest Firebird (2.5) releases don't run on Windows 9x: http://www.firebirdfaq.org/faq66/ What are the system requirements for Firebird? Operating systems: Windows 98,Me,2000,2003,XP,NT,Vista or newer and Firebird 2.5 Release Notes, page 95 It had been signalled that versions of Firebird beyond V. 2.1.x would not support Microsoft Windows 98, ME, or NT4. So a 2.1.3 release may work for Windows 98: http://firebirdsql.org/index.php?op=files&id=engine Hope you're not on 95  SQLite might work, no experience with it though. ---------------------------------------------------------------------- JD · 2010-12-17 13:55 My advice: use Firebird Embedded server. That way if ever you have a need to add more clients in the future, you can move on to Firebird server with minimal changes.