From: eusclide on
Hello, I ve created a windows form application with access db
I use 16 tables.
For each table are created datatable, dataadapter, binding navigator and so
on....
I have seen that application becomes really heavy and slow during the
creation of code( editing )
Which is the best way to make all fast and not heavy?

if my database use a table with 1 millions of records, which way is the
best? thanks


From: PvdG42 on

"eusclide" <eus(a)me.it> wrote in message
news:eMnQr17iKHA.5520(a)TK2MSFTNGP06.phx.gbl...
> Hello, I ve created a windows form application with access db
> I use 16 tables.
> For each table are created datatable, dataadapter, binding navigator and
> so on....
> I have seen that application becomes really heavy and slow during the
> creation of code( editing )
> Which is the best way to make all fast and not heavy?
>
> if my database use a table with 1 millions of records, which way is the
> best? thanks
>
>

Lets start with some basics.
How much of the database access is read only (no update)? For that, consider
using DataReader.

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.data.datareader.aspx

You mention a table with one million rows? 16 tables? How much total data
and how many potential concurrent users? Bottom line: Is Access the right
DBMS for you, or could it become a bottleneck? You might consider SQL Server
(Express).

From: Mr. Arnold on
eusclide wrote:
> Hello, I ve created a windows form application with access db
> I use 16 tables.
> For each table are created datatable, dataadapter, binding navigator and so
> on....
> I have seen that application becomes really heavy and slow during the
> creation of code( editing )
> Which is the best way to make all fast and not heavy?
>
> if my database use a table with 1 millions of records, which way is the
> best? thanks
>
>


You should use a generic collection of objects or Data Transfer Objects
and bind the collection to the control. You work with objects not data
tables. Data tables are the slowest form of data access.

You use Linq and Alinq to create a DTO, populate it from the DB and send
the DTO(s) to the UI. You update the DTO(s) at the UI and send them back
to Alinq and let Alinq work with the DB to persist data.

http://www.alinq.org/en/default.aspx

Those 16 Access tables become 16 ORM objects using Linq and Alinq.

http://en.wikipedia.org/wiki/Object-relational_mapping
http://msdn.microsoft.com/en-us/library/bb308959.aspx
From: eusclide on

"PvdG42" <pvdg42(a)toadstool.edu> ha scritto nel messaggio
> You mention a table with one million rows? 16 tables? How much total data
> and how many potential concurrent users? Bottom line: Is Access the right
> DBMS for you, or could it become a bottleneck? You might consider SQL
> Server (Express).


1 millions of record is just an example, in this case the db is sql server
:)
Thanks


From: Bernie on
A couple of thoughts that haven't been mentioned yet. Make sure you have
indexes using the fields you will be searching. Also move your database
access off into threads when ever possible. That leaves the UI thread alone
to keep the user interface up to date.

Bernie

"eusclide" <eus(a)me.it> wrote in message
news:eMnQr17iKHA.5520(a)TK2MSFTNGP06.phx.gbl...
> Hello, I ve created a windows form application with access db
> I use 16 tables.
> For each table are created datatable, dataadapter, binding navigator and
> so on....
> I have seen that application becomes really heavy and slow during the
> creation of code( editing )
> Which is the best way to make all fast and not heavy?
>
> if my database use a table with 1 millions of records, which way is the
> best? thanks
>
>