I have my database - how do I make it an application?

I have an Access database. I know there is no way to compile it into an executable file that doesn’t require access to run. So what are my options?

Can I go and get a copy of Visual C++? Does it have structures that will allow me to implement database type functionality? Do I need the dot net environment?

I haven’t programmed in a couple of years so I’d appreciate as much information as possible – assume I know nothing (not too far from the truth :rolleyes: ).

Yes. Yes. Depends.

You can compile a regular “traditional” MFC C++ program and distribute that with your database. This will require that you also distribute the MFC runtime DLL’s with it as well. Or you create a dot net program, which would require the dot net runtime, but you don’t necessarily have to distribute that yourself, but just give people a link to the microsoft site. If you do dotnet, I’d suggest you go with C# rather than C++, since the so-called “managed C++” is an abomination unto the lord. IMHO, of course.

Oh, and this being a Microsoft product we’re talking about, creating and distributing an executable will be much, much harder than I’ve implied above. Have fun!!

Oh yeah, like all the other options just work without any hassle at all. :rolleyes:

Anyway, back to the OP:

First: MS allows you to distribute Access applications with a runtime copy of Access freely downloadable from MS’s Website. You knew that, right? (At least the version of Access that was out a couple years ago. Maybe it’s changed since then.)

Second: I agree with Ponder on the “don’t use C++ unless there’s some crazy reason you have to.” .NET has all sorts of gizmos that make DB programming a breeze. What do you ultimately want to come up with? An executable application? A Web app?

If you just want a basic executable, I’d look into VB. It plays well with Access DBs, and is pretty easy to use if you’ve got any programming background at all.

Yep I knew that but that’s really not what I’m looking for.

I’d like to ditch Access altogether and arrive at an executable application that does not require any specific run time environment to be installed.

Is that unreasonable?

I don’t think it’s possible to get completely away from having a run time environment, but .NET is probably your closest option. If you get Visual Studio .NET you can use either VB.NET or C#.NET (or C++ if you really have your heart set on it). The client machines will need to have the .NET framework installed, but that’s a freebie. But as long as you provide an Access database (MDF file) with the application, they won’t need to have a local copy of Acess installed.

Whether or not it’s unreasonable depends on what exactly you want it to do. If you want a full-service DB type app where that runs SQL queries and all that, well, yeah, it’s kinda unreasonable to want to do it without a DB.

No run-time environment at all pretty much rules out anything Microsoft, at least anything in the .NET world (they all require the .NET framework to run. It comes with XP, but you’d have to install it on anything else.) If you can get your hands on an old copy of C++, like Visual Studio 6.0, that’ll do what you want. But really, going with C++ 6.0 to avoid having to install a run time isn’t all that logical. Building it with newer tools and installing a runtime (or assuming they have ASP.NET installed) is WAY easier than dealing with all the peculiarities of C++.

OK, so it looks like a run time environment is gonna be needed and .NET is as good as any.

So, next question…
Why is c# so much better than c++? (I should point out that I learned plain old “c” no “++” or “#” so be gentle with me :smiley: )

Google for “embedded db”

Here are a few:
GDBM
DB::BTREE
QDBM
DB::HASH
SQLite
I haven’t used any but I believe the db code is linked into your application.

I’m not exactly sure what you want to do with your database, but if you want to do somewhat simple things and have just a couple users, I would use something high-level like:

http://www.alphasoftware.com/products/a5v4/overview.asp

to develop the interface.

(Disclaimer: I have never used THAT particular interface, but there are dozens more like in on the market.)

It’s not that C# is better than C++, it’s that Microsoft’s managed C++ is offensive to a lot of C++ programmers.

Thanks all!

C# isn’t so much “better” than C++ as it’s easier. You have a lot (but not all) of the power of C++ but the gotchas - like memory management - don’t exist anymore. Think of it as C++ without pointers.

If you’re a C programmer, the big hurdle you’ll need to get over is the whole OO/Object model stuff. It ain’t that hard, though, and MS provides lots and lots of examples of how to do it.