1

I'm not sure if there is a better way to word this question, however here is what I am trying to achieve.

I am trying to create a simple application that would be installed and used on different computers on a network, however they would all access the same data file. Sort of like Microsoft Access.

Would ADO.Net DataSet do the trick? or is there another type of class made for this? ...Or am I restricted to a plain file with FileShare?

Playing around with ADO, I like what I saw, however I'm not sure it can make a stand alone data file that could sit on a mapped network drive.

Oria
  • 118
  • 10
  • 1
    You need a database back end for your c# application. There are many options available to you - you could use a Jet database (what most people call an 'Access' database - you can use these for free in Windows, no need for MS-Access), you can use a SQL CE database if you have Visual Studio, or a SQLite3 database -- to name a few. What you choose depends what the parameters of your project are. – transistor1 Aug 23 '13 at 23:19
  • A DataSet would be used for in-memory representation of the data you manipulate in a database. You can't use them as standalone databases. – transistor1 Aug 23 '13 at 23:22
  • Multiple read is no problem. It is multiple write. Have you figured out (in the big picture way) how to handle multiple users editing the same data, ie the same "line" or "row" or whatever at the same time? You need to solve that problem first, then figure out which database system to use. – Mark Lakata Aug 23 '13 at 23:22
  • 1
    How many user is "multiple users"? – Brad Aug 23 '13 at 23:25
  • 2 to 5 computers accessing it at any given time. and it would be mostly to write new entries. The database would be use to mark down shipping information for orders. Sales person would each add their orders to a data table. – Oria Aug 23 '13 at 23:39

1 Answers1

2

Dont use Access it wont handle more than 4 or 5 concurrent users. You need a database like SQL Server, MySQL, Oracle.

You install one of these databases on a server and everyone connects to the server via a connection string. Without a server you could use http://www.sqlite.org/different.html and here is how you use it from C#: Is there a .NET/C# wrapper for SQLite?

ADO.Net DataSet will do the trick, you can also use SqlDataReaders and SQlDataAdapters. There are many examples on this site, just look up ADO.Net.

Community
  • 1
  • 1
Jeremy Thompson
  • 61,933
  • 36
  • 195
  • 321
  • No server, Just a single file on a mapped network drive. I will take a look at SQLite, that might be a solution. – Oria Aug 23 '13 at 23:46