.Net 2.0 DataTable have a lot of lacks?

M

mtczx232

it seem that data table and Expression field have a lot of Laks, it is
true?

the DataTable is powerfull of Memory relation data that bind to
controls.
so i can load data from remote service and manipulate it and after i
send update to remote service.

But, when i need to make standart operation that with SQL system is
simple,
with Datatable it's impossible.

for example think about Accounting records. i load record from remote.
and thaen
user chnge Movement and add some. now (before we update the remote
server),
how i can put on the screen balance? by loop over all rows and grouping
it manually!!
instead write Group by!!??

[in vb6 i remember the Data Environment that allow grouping!!]

have some Project that extend DataTable abilities?

also with DataColumn.Expression have a Lacke of many simple function.
like Round, have a way to extend it?
 
M

Marina

You are completely correct if you expected the DataTable to be an in memory
database.

It is not this, and it is not meant to be. It has some functionality so
that you can perform operations on snapshots of data that you retrieved from
the database. However, any advanced/complex operations must be done on the
database itself.
 
R

Robbe Morris [C# MVP]

The DataTable .Select method does support "some"
aggregate functions like SUM and AVG. Another
parameter exists for ORDER BY.

You may want to look into what is supported.
 
M

mtczx232

Marina
1.
we not have discuss about what microsoft think about Datatable, we
discuss about
developers needs.

so, when i use with remote Database, and i use with Datatable as memory
snapshots of data. it's only modest wish that this table support
grouping and other expresion function
like a SQL or Excel. if i need for those simple thing, to go to
Database, we lost the
power of DataTable as it can be.

2.
I read some document, how join table by looping and so on, but my wish
is, that someone Make this project like we need. So my Q is, if
somebody hear about?

3.that you can perform operations on snapshots of data that you retrieved
from
the database.

I not agree with you, the DataTable is like a Memory Database it's
contain constrains
and schema and relations. So Datatable is true Database according the
Data Definition
(DD), so why we not expect also Data Manipulation (DM)

4.
I know about Memory Database like SharpHSQL project. but i think, that
not
have built in binding to Controls, so after eache change on DB, we need
make a Fill.
and alse, not have Mathod to save all change on remote DB like
Datatable do.


+++++++++++++++++++++++++++++++++
Robbe Morris [C# MVP]
The DataTable .Select method does support "some"
aggregate functions like SUM and AVG. Another
parameter exists for ORDER BY.

1.
i know about powerfull of Order BY and SELECT. but that is what i'm
say!!
Datatable have strong engine, and i expect to add to it some more
essential function.
2.
SUM and AVG without WHERE is very poor for developers.
 
C

Cor Ligthert [MVP]

....
Marina

1.
we not have discuss about what microsoft think about Datatable, we
discuss about developers needs.
Good developers make than what they cannot buy themselves.

In addition those developers with marketing feeling do sell that and get
their own market replacing the old ones.

By the way, Microsoft is fullfilling again this complain from the in my
opinion not so good developers, who want to work on expression level.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/linqprojectovw.asp

Just my thought about this

Cor
 
R

Robbe Morris [C# MVP]

When you read up on the .Select method of the DataTable,
what functionality wasn't there that you need?

--
Robbe Morris - 2004/2005 Microsoft MVP C#
http://www.eggheadcafe.com/forums/merit.asp





Marina
1.
we not have discuss about what microsoft think about Datatable, we
discuss about
developers needs.

so, when i use with remote Database, and i use with Datatable as memory
snapshots of data. it's only modest wish that this table support
grouping and other expresion function
like a SQL or Excel. if i need for those simple thing, to go to
Database, we lost the
power of DataTable as it can be.

2.
I read some document, how join table by looping and so on, but my wish
is, that someone Make this project like we need. So my Q is, if
somebody hear about?

3.that you can perform operations on snapshots of data that you retrieved
from
the database.

I not agree with you, the DataTable is like a Memory Database it's
contain constrains
and schema and relations. So Datatable is true Database according the
Data Definition
(DD), so why we not expect also Data Manipulation (DM)

4.
I know about Memory Database like SharpHSQL project. but i think, that
not
have built in binding to Controls, so after eache change on DB, we need
make a Fill.
and alse, not have Mathod to save all change on remote DB like
Datatable do.


+++++++++++++++++++++++++++++++++
Robbe Morris [C# MVP]
The DataTable .Select method does support "some"
aggregate functions like SUM and AVG. Another
parameter exists for ORDER BY.

1.
i know about powerfull of Order BY and SELECT. but that is what i'm
say!!
Datatable have strong engine, and i expect to add to it some more
essential function.
2.
SUM and AVG without WHERE is very poor for developers.
 
M

mtczx232

Select not include functions(like Round) and Aggragate function.
Grouping and so on.
I already Explain my Opinion above. that Developer need tools to do
Grouping and Aggregate on the Datatable rather then on DB itself.
if this essential thing is not yet conventional i ready to give you
more
examples that convice you.

Now my friend told me about DataWindow.Net from Sybase, i not sure
about this product, but this is Example for my Opinion, that Dataset
must includ set of tools for Grouping and Aggregate, like we used
in DataEnvironment (VB6) and if i remember correct also
on DataModel in Delphi.
 
R

Robbe Morris [C# MVP]

Doesn't support Round? Hmmm. I know it supports
some aggregate functions like SUM and AVG.

A .NET DataTable was never intended to be
a mini database in memory. Asking it to be is
like asking a compact car to haul lumber.
 
J

john smith

I not agree with you, the DataTable is like a Memory Database it's
contain constrains
and schema and relations. So Datatable is true Database according the
Data Definition
(DD), so why we not expect also Data Manipulation (DM)

Wheter you agree or not with Marina, DataTables/DataSets aren't like a true,
complete in-memory database (there is no database engine of any kind - it's
not even remotely similar). It's just a in-memory "snapshot" of data, and
you can't expect it to be much more than that. You seem to be confusing the
fact it's a *disconnected* dataset (or table) for it's a full-blown DB
engine with everything and a kitchen sink built-in. You can still request
your data like before... But working with disconnected data like that is
very different, and perhaps you have to adapt to the new way of doing
things.

To me it sounds like you're using the wrong thing altogether. Perhaps you
should be using sprocs (or parameterized queries; with your "data
manipulation" in the queries like you want) with DataReaders to get to your
data/results. Then perhaps "map" to a set of Business Objects using a Data
Access Layer (a class methods to abstract/encapsulate your SQL work and
such, and then return the data you want). And it seems to me that those
simple math operations (and other things like formatting) could easily be
done by a few methods in a small class in a few minutes - I completely fail
to see the big problem here... Sounds more of an architecture/design problem
than anything to me.
 
A

Adrian Moore

John,

I beg to differ. An ADO.NET dataset is a excellent foundation on which to
build a real-time database engine. What it lacks are some of the true
database engine features such as DDL, security, concurrent transactions to
name a few.

Note that a real-time database engine only commits changes to memory. It
does not include the overhead of disk access. Dumping a snapshot of the
current database to disk is performed as needed.

I believe that with some effort and imagination, a Dataset is a capable
foundation on which to build a complete real-time database engine.

Ad.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top