Hi,
I am working on a project where I need to save data which the user inputs for future reference and manipulation. I know one can use a database or a binary file.

I would like to use a database but I don't know where to begin. I know one thing once the project is done i do not want the user to purchase a database liscense or take the pain to install a database server.


I would like the experienced users to give their advice as to if this is possible and if yes a link for my further study.

Recommended Answers

All 11 Replies

Perhaps a little more explanation of the problem. What sort of data? How must it be accessed, sorted, filtered, etc? How much data?

This is a C++ forum, do you intend to write the code?

Simple Free Solution would be PHP + Mysql.

Google for both.

You can run it on your home pc or on a server.

You want to store this in a DB vs. Flat Files.

It will allow to keep everything in a neat orderly fashion.

I could assist you in setting this up if you want.

Perhaps a little more explanation of the problem. What sort of data? How must it be accessed, sorted, filtered, etc? How much data?

This is a C++ forum, do you intend to write the code?

The data is basically alot of text and integer values.

It needs to be accessed, sorted and filtered

Not much data will be added maximum size will go to 400K

Yes, I intend to write the code.

Simple Free Solution would be PHP + Mysql.

Google for both.

You can run it on your home pc or on a server.

You want to store this in a DB vs. Flat Files.

It will allow to keep everything in a neat orderly fashion.

I could assist you in setting this up if you want.

I need to use c++ only I cannot use another language its the requirement of the project.

Once the project is ready I really don't want the end user to install the database by themselves and this is going to be hard to setup for the end user.

A "database" does not have to be a pre-written data management system. It can be a file or three that contains the data you need for a project, and a few routines you write to access the data. Use the KISS principle (Keep It Simple Stupid).

A "database" does not have to be a pre-written data management system. It can be a file or three that contains the data you need for a project, and a few routines you write to access the data. Use the KISS principle (Keep It Simple Stupid).

What I meant was I want to use a database management system but I would highly appreciate it if the user at the time of installing it does not need to install the database and this will be cumbersome.

Do you know a way ?

How do you expect to use a database management system and not have to install it?

I have seen demo softwares do that where they are using a database management software and when the end user installs the application the end user does not need to install the db by themselves the installer file does it in the background and sets everything up.

> The data is basically alot of text and integer values.
> It needs to be accessed, sorted and filtered
> Not much data will be added maximum size will go to 400K

just use a simple xml file to store the data.
and an xml parser library eg. http://www.grinninglizard.com/tinyxml/

Hi i hope SQLite will solve your problem.

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. SQLite is currently found in more applications than we can count, including several high-profile projects.

SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file. The database file format is cross-platform - you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures. These features make SQLite a popular choice as an Application File Format. Think of SQLite not as a replacement for Oracle but as a replacement for fopen().


You just need to do a database operation thats it . A table with two column will do ..

for further reference visit :

http://www.sqlite.org/

All the requied details are found in the above mentioned site

commented: thank you very much very helpful +1

Hi i hope SQLite will solve your problem.

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. SQLite is currently found in more applications than we can count, including several high-profile projects.

SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file. The database file format is cross-platform - you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures. These features make SQLite a popular choice as an Application File Format. Think of SQLite not as a replacement for Oracle but as a replacement for fopen().


You just need to do a database operation thats it . A table with two column will do ..

for further reference visit :

http://www.sqlite.org/

All the requied details are found in the above mentioned site

Thank you very much this is exactly what i was looking for :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.