Results 1 to 5 of 5
  1. #1
    Join Date
    Dec 2011
    Posts
    13

    Unanswered: C++ Database Application

    Hi
    I want to build a C++ database application. It may be aiming a little high though the only database experience I have is with Microsoft Access. I have some understanding of C++ though.

    If I want all the functionality Microsoft Access offers and more how should I go about this.

    - I'm shady on this topic but I understand I can get a Boreland compiler with a
    Database engine build it or am I mixing things up?

    - Also, will I have to use SQL?

    - Also, I want to build a GUI so I can input data manually and I'll also need an Information Dashboard and a way of running detailed reports with charts?

    - Most importantly, can I do all of this with C++ or am I better sticking to microsoft access?

    I'm not looking for a beginners project. I have years to build it so I can learn new things in that time. I just don't know where to stare. Is there any good books which will set me on the right track?

    Sorry for the long spiel.. Thanks so much for reading.

    Dominover

  2. #2
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    Provided Answers: 54
    Yes, Microsoft Access was written in C and C++ so you could certainly create a comparable product using comparable tools. The last that I knew there were a bit over 1000 man years invested in writing/revising Microsoft Access, but a lot of that time was spent analyzing how people used data and databases and trying to design a tool that would fill most of their needs. I'd be willing to bet that you could recreate it now with less than 100 man years of effort.

    Personally, I'd take a simpler approach. There are tools like Open Office that have a nice database with many of the features that you want. The source code for these tools is available, and is evolving over time with the effort of hundreds of talented volunteers.

    Get involved, learn the tools, contribute to the project! That way you'll have a better tool to start with, and the effort you put into it will be enjoyed by thousands of people instead of just you and your friends.

    -PatP
    In theory, theory and practice are identical. In practice, theory and practice are unrelated.

  3. #3
    Join Date
    Dec 2011
    Posts
    13
    Quote Originally Posted by Pat Phelan View Post
    Yes, Microsoft Access was written in C and C++ so you could certainly create a comparable product using comparable tools. The last that I knew there were a bit over 1000 man years invested in writing/revising Microsoft Access, but a lot of that time was spent analyzing how people used data and databases and trying to design a tool that would fill most of their needs. I'd be willing to bet that you could recreate it now with less than 100 man years of effort.

    Personally, I'd take a simpler approach. There are tools like Open Office that have a nice database with many of the features that you want. The source code for these tools is available, and is evolving over time with the effort of hundreds of talented volunteers.

    Get involved, learn the tools, contribute to the project! That way you'll have a better tool to start with, and the effort you put into it will be enjoyed by thousands of people instead of just you and your friends.

    -PatP

    True. There would be allot of hours put into a development tool. Though a custom application designed for a specific purpose is well and truly achievable I'm certain. When I said, similar functionality to access, I think I mislead you. I meant, to be able to build a database application that can utilize controls, chart widgets and something I can run reports from that will work like an application build in access. I basically want to take advantage of a fully fledged programming language and its features and some of the amazing widgets / charts etc out there so I can combine them into a GUI, and access the data from a database. I also want to input data via a gui and run reports (from the data in a relational database).

    Firstly I'll need to understand the concepts of how the programming language, database engine, and widgets program for building a GUI all fit into each other. By some chance could you suggest a book or a series of books which will help me understand this kind of thing and how to start choosing which database engine to use etc. The beginners books on database management systems are primarily based on Microsoft Access which is really annoying.

    I understand there are easier options, but I'm generally trying to get a start on an advanced topic.

    Thanks.
    Dominover
    Last edited by dominover; 02-05-12 at 01:18. Reason: wording

  4. #4
    Join Date
    Feb 2004
    Location
    In front of the computer
    Posts
    15,579
    Provided Answers: 54
    I still don't understand your question well enough to help you.

    The goals that you've stated (programming language, able to use GUI features, able to use one or more database products) are met by literally every major development tool set available. Although the GUI component issue isn't strong, all of these criteria can be met using PowerShell for free!

    While there is a certain emotional appeal to the idea of writing and using your own tools, taking that idea all the way from the user to the hardward (writing everything from the GUI components to the langauges itself) is a far larger task than most people can afford to tackle.

    Take a look at a couple of development environments like Visual Studio, Delphi, or even xHarbour. See what these tools offer and then come back to describe what you want that they lack.

    -PatP
    In theory, theory and practice are identical. In practice, theory and practice are unrelated.

  5. #5
    Join Date
    Mar 2012
    Posts
    2
    A program database (PDB) file holds debugging and project state information that allows incremental linking of a Debug configuration of your program. A PDB file is created when you build with /ZI or /Zi (for C/C++).

    In Visual C++, the /Fd option names the PDB file created by the compiler. When you create a project in Visual Studio using wizards, the /Fd option is set to create a PDB named project.PDB.

    If you build your C/C++ application using a makefile, and you specify /ZI or /Zi without /Fd, you end up with two PDB files:

    VC80.PDB (More generally, VCx0.PDB where x represents the version of Visual C++.) This file stores all debugging information for the individual OBJ files and resides in the same directory as the project makefile.

    project.PDB This file stores all debug information for the.exe file. For C/C++, it resides in the \debug subdirectory.

    Each time it creates an OBJ file, the C/C++ compiler merges debug information into VCx0.PDB. The inserted information includes type information but does not include symbol information such as function definitions. So, even if every source file includes common header files such as <windows.h>, the typedefs from those headers are stored only once, rather than being in every OBJ file.

    The linker creates project.PDB, which contains debug information for the project's EXE file. The project.PDB file contains full debug information, including function prototypes, not just the type information found in VCx0.PDB. Both PDB files allow incremental updates. The linker also embeds the path to the .pdb file in the .exe or .dll file that it creates.

    The Visual Studio debugger uses the path to the PDB in the EXE or DLL file to find the project.PDB file. If the debugger cannot find the PDB file at that location or if the path is invalid (for example, if the project was moved to another computer), the debugger searches the path containing the EXE, the symbol paths specified in the Options dialog box (Debugging folder, Symbols node). If the debugger cannot find a .PDB file, a Find Symbols dialog box appears, which allows you to search for symbols or to add additional locations to the search path.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •