Question

(upto 500pts!) Borland C++ Builder Database Newbie

Asked by: BlewItUp

When I get my other question refunded I will boost this one to 500.

I've got a reasonable amount of C++ experience, but I am new to Builder and am having a lot of trouble...
I'm trying to write a program in Borland C++ Builder 6 Enterprise that will work with a simple database. I want to store a few hundred entries, each with a 3 bools, a short string, and several very long strings. I want to use the data-aware controls to view and modify the values. I have set up a DBCtrlGrid and put the interface how I want it, but after an entire day of going through the thoroughly unhelpful help files and working through both tutorials, I still am no closer to knowing how to work with the database tools.

I know this is a little much to ask on an EE post, but if anyone's up to it, I really need a step-by-step explanation of how to do this.

*I need to store about 500 entries with several text fields
*I want to use Borland's Data-Aware Controls to view and modify certain fields
*I want to store all of the data in a local file (or files)
*I plan to distribute this program to several people with different systems, so it has to be handled from within the program and can't require any external database drivers
*I have created the interface on a DBCtrlGrid, but have no idea where to go from here

I hope somebody can help me!

Thanks
-Greg Courville

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2003-07-21 at 12:09:32ID20685314
Tags

c

,

builder

,

database

,

borland

Topics

C++ Programming Language

,

InstallShield

Participating Experts
4
Points
500
Comments
11

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. ACTIVEX with Borland C++ Builder
    How do I get started writing an ActiveX with Borland C++ Builder. I have the C++ Builder standard, and I can't see what to do.
  2. ? on the Borland C++ Builder
    I am considering buying the Borland C++ builder and was wondering if anyone could comment on what the interface is like (drag and drop or really complicated) - comments appreciated
  3. about Borland C++ Builder
    Where can I find a good address about Borland C++ Builder? include the tutorial for the beginers
  4. Borland Builder and TrayIcon
    How can i use TrayIcons in my Borland Builder App ? Is there an example code or Builder Component ?

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: BlewItUpPosted on 2003-07-21 at 12:20:47ID: 8970125

Uh, by the way...
Please don't wait until the value actually goes up to 500. I promise I will raise it to 500 before I accept your answer. Trust me!
This is rather urgent...

 

by: BlewItUpPosted on 2003-07-21 at 14:44:25ID: 8971298

OK, at this point, any information that leads in some way to my success in constructing this program will be accepted!!

 

by: burcarpatPosted on 2003-07-21 at 15:55:12ID: 8971667

> "*I plan to distribute this program to several people with different systems, so it has to be handled from within the program and can't require any external database drivers"

this is what concerns me most.  if you wanna use bde, you'll have to install at least paradox.  it can be via an installation program but it is still going to be separate db drivers...  the alternative is to use a 3rd party component but i am not sure if you wanna go that route

if you are happy with the paradox solution, i can give you a full recipe

-- ba

 

by: burcarpatPosted on 2003-07-21 at 16:03:55ID: 8971715

this is the quickest way but not the best way

step 1.  use database desktop software to create the tables you want.  put all the fields, etc.  once you are done, create a copy of these empty tables.  you'll distribute these files with your app

step 2. create a new data module.  put a ttable component in the module for every table you have ( sounds like you only have one ).  put a tdatasource and link it to ttable ( all these are done via the property inspector; no code to write )

step 3. link your tdatasource to your dbgrid and you are done.  the grid will by default show all your fields.  you can customize the look of the grid and the fields to be shown using the property inspector ( still no code )

step 4. other db components work the same way; just put the component, link it to the tdatasource and then pick the field you want to edit

step 5. using installshield ( this comes with c++ builder ), create an installation.  Installshield will create all the db aliases for you.  make sure you copy the empty table files you created into the db directory via installshield

step 6.  you are done

you can also replace steps 2 - 4 using the database wizard in c++ builder

let me know how much more detail you need 'cause i don't know how much you know about c++ builder.  i actually wrote all this from my mind.  if you can give more specifics, i can build  a project for you and write more detailed steps ( hey, anything for 500 points ;-) )

-- ba

 

by: BlewItUpPosted on 2003-07-22 at 00:49:23ID: 8974254

Hi, thanks for posting.
My issue is that I really don't want to use some commercial-strength database just to store a bunch of text fields locally. I really want the program just to look in its own little file and put in/pull out a few pieces of data. I'd like it to be able to just run anywhere in just a folder with its data file and not have to have databases registered with the system. Is there a way to do something like this and still use the Data Controls? I noticed the "STANDARD" driver had a ttASCII mode. Could I use this? Or am I going in the wrong direction? Maybe I should write my own simple little engine to store values in a text file? I've done file access, BIOS calls, etc., but all this crazy database stuff is way over my head. I'm really not an experienced programmer.
If you could try to fill me in a little on how these things work, and reccommend what I should do, that would be great. I don't necessarily need the quickest way, but I need something that a learning programmer can understand (of course, I understand if no such explanation exists!).

Thanks!
-Greg Courville

 

by: lozherbertPosted on 2003-07-23 at 06:53:33ID: 8986137

Hi,

Not sure if this helps but you're describing kbmmemtable perfectly... http://www.components4programmers.com/products/kbmmemtable/
It's a really powerful memory based database component.  

You can use it perfectly for what you require.  The data can be saved in binary format, simple comma delimited format, or you can customise it youself.  I use it in BCB5 and BCB6 - nice and straightforward.

Drop the component onto your form (all Borland database enabled controls are fully compatible - makes data entry even easier)
Next, double click on the component so that you can enter your fields, and what type of field they are.

Here are some coding examples...

Load database...

kbmMyDatabase->LoadFromFileViaFormat("thisdatabase.db",sfBinary);

Save...

kbmMyDatabase->SaveToFileViaFormat("thisdatabase.db",sfBinary);

Add data to the database...

    kbmTransmission->Append();
    kbmTransmission->Lock();  
    kbmTransmission->Edit();
    kbmTransmission->FieldByName("Name")->AsString = Name;
    kbmTransmission->FieldByName("Status")->AsString = "Queued";
    kbmTransmission->FieldByName("Time")->AsDateTime = Now();
    kbmTransmission->FieldByName("Message")->AsString = Message;
    kbmTransmission->Unlock();
    kbmTransmission->Post();


Example of reading string based data from the current record...

AnsiString Name = kbmTransmission->FieldByName("Name")->AsString;

Delete a record...

kbmTransmission->Delete();

Find a record...

    TLocateOptions SearchOptions;
    SearchOptions << loCaseInsensitive;
    if (Partial)
        SearchOptions << loPartialKey;
    bool Found = kbmBrowseData->Locate("LASTNAME",SearchValue, SearchOptions);

For more info, look up the help on TTable - very similar usage.

It's a very powerful and fast component - should be just the ticket.

-Loz

 

by: knightmadPosted on 2003-07-27 at 04:31:18ID: 9014075

My suggestion is: use TClientDataSet (it is in Data Access Pallete, beside TDataSource)

I suggest this because:

Vantages
1) It already comes with C++ Builder (and with Delphi too)
2) You can create local database without to need any SGBD
3) The database created can be in XML format, then you can import these data even outside your application
4) It works with Data Aware components as well as TTable

Disavantage:
You need to distribute one little DLL (midas.dll) with your application

The price is low if you use TClientDataSet .... take a look at its help in C++ Builder help, TClientDataSet section, look for tutorials in the Web and, if any doubt, as us : )

Fernando - Brasil

 

by: burcarpatPosted on 2003-07-27 at 10:44:59ID: 9015133

BlewItUp, sorry, i forgot about this question for a while.  i did use lozherbert's suggestion, kbmmemtable in a project a while ago and s/he is right, the component serves your purpose well if you don't want to distribute anything with your app.  it is not as advanced as some other db components you'll find but it serves the purpose

-- ba

 

by: BlewItUpPosted on 2003-08-20 at 20:40:33ID: 9192962

I'm having problems with KbmMemTable!
When I try to install the design-time component, it says "Cannot load package [Path...]. One of the library files needed to run this application cannot be found."
Any ideas?

-Greg Courville

 

by: bcladdPosted on 2004-01-18 at 17:32:33ID: 10143035

BlewItUp,
No comment has been added lately (151 days), so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area for this question:

RECOMMENDATION: Award points to lozherbert http:#8986137

Please leave any comments here within the next seven days.

Experts: Silence means you don't care. Grading recommendations are made in light
of the posted grading guidlines (http://www.experts-exchange.com/help.jsp#hi73).

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Thanks,

bcladd
EE Cleanup Volunteer

 

by: BlewItUpPosted on 2004-01-19 at 10:07:54ID: 10148467

I've accepted Lozherbert's answer because kbmmemtable looks perfect for what I'm trying to do; unfortunately, though, I spent days and couldn't get it to install, and ended up writing my own database classes. Then, in my frustration I dumped Windows completely and converted all my computers to Linux! :)

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...