Hello,

I'm working on an inventory system for a store that was originally built by MS Access. The database, forms and reports are all MS Access components, and it's a total mess, thus an upgrade needed.

I thought of programming the new system with C#, and using MS SQL to build the database as these are the only tools am experienced with. I've not worked with reports in C# before, I'll need your help to generate reports out of the database in a printable form such as the ones used in the below links.

I noticed most of the decent inventory systems are built with VB. Why?, does it offer simpler deployment, unsophisticated data storage than MsSQL, and easy reports generation?.

Please check this links as an example of what am trying to produce in C#, I believe these systems are built with VB if am not mistaken:
http://www.executivpro.com/inventoryimage.html
http://www.logicmate.com/retail_inventory.asp?b=retail-banner.jpg&idCategory=29

If you could guide me through this as I've no experience what so ever regarding this project. And I need to gain it, your help will be appreciated. Thanks

I personally have no scrape with MS ACCESS as aside from changing the connection string the code is all the same. C# is perfect for this project. Just to clear it. C# can do everything VB can, and any VB code can be converted to C# very simply. there are hundreds of code converters out there. So if you find code in VB just convert it over if you need to. http://converter.telerik.com/ is pretty good.

I'm not the best person to help with database apps but Visual studio has TONS of tools for it. even a SQL query builder, but I would suggest finding a good Object Relation Mapping library to save yourself some headache.

Best of luck on your project. I admire that you had a problem and decided to tackle it head on. That's how I learned everything I know about programming. up to 4 languages now and still moving forward!

I noticed most of the decent inventory systems are built with VB. Why?, does it offer simpler deployment, unsophisticated data storage than MsSQL, and easy reports generation?.

In the present age, VB and C# are on equal ground in terms of usefulness in business development. Keep in mind, however, that there are legacy applications that originated prior to the existence of C#, and many of these applications have their roots in VB6 (and prior versions). Some are being maintained within their legacy code structures, and other companies could be brining their applications forward into the .NET era but sticking with the familiarity of the VB syntax.

But, again, as for new development, you're not going to see a real advantage in developing in one language versus the other, beyond simple syntax preferences. (It seems that more people prefer the terse C# syntax presently, but that may just be my view of it and I'll admit I'm biased towards C# as well.)

So if you find code in VB just convert it over if you need to. http://converter.telerik.com/ is pretty good.

That was very helpful indeed, thanks.

I'm not the best person to help with database apps but Visual studio has TONS of tools for it. even a SQL query builder, but I would suggest finding a good Object Relation Mapping library to save yourself some headache.

I mainly work on web development projects, I have no experience with desktop applications, so I can't really make the decision which database should work best. By doing research I found MS Access, and SQLite are both good candidates. The user should install the product on his PC with the database working offline without require the user to install extra resource hogging software. What do you think the best db engine to work with?, I think VS has some built-in engine that I can use with C#.

In the present age, VB and C# are on equal ground in terms of usefulness in business development. Keep in mind, however, that there are legacy applications that originated prior to the existence of C#, and many of these applications have their roots in VB6 (and prior versions). Some are being maintained within their legacy code structures, and other companies could be brining their applications forward into the .NET era but sticking with the familiarity of the VB syntax.

I see. Thanks for your post.

I think am going to give SQLite a go, but I need to figure out a way to import old database to the new system. Any help?

MSAccess requires nothing to be installed. SQLlite requires SQL lite server to be installed. But if you really want to make the switch just duplicate the tables in the new database and write a little loop that gets all the info from the first database table and creates objects in a list. then loop through the list and save the objects to the new database.

Should be pretty simple.

MSAccess requires nothing to be installed. SQLlite requires SQL lite server to be installed. But if you really want to make the switch just duplicate the tables in the new database and write a little loop that gets all the info from the first database table and creates objects in a list. then loop through the list and save the objects to the new database.

Should be pretty simple.

So you suggest using MS Access?. Someone suggested me using SQL Server Express, but I think it will require additional software to be installed before working on the target PC, right?. My main goal is to hide the database from the end-user and require zero configuration to run the application. Only the setup.exe and thats it ready to run. I'll try MS Access.

SQL lite its a server technology that has to be installed on the system to use. MS access requires nothing to be additionally installed. that's what I like about it. Although, its not optimal for heavy usage for many simultaneous users, That's why most people speak poorly of it. But if the database only needs to be accessed by 1 computer/ user at a time. Its a pretty good system. I used it for a program that helps track my bills. 2GB worth of data now and still working strong. Even used it to store information for the guest book on my website.

The only problem with these new OSes such as Vista and 7 is your application cannot write to the Program Files directories. So remember once your application gets chugging along to save the Database in a document folder!

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.