473,770 Members | 5,880 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Database access sucks!

It is just me or has MS created some of the worst ways to access and display
data?

You can use a DataSet, but if you want to sort or filter the data to must
use a DataView which is created from a DataSet.

But, if you sort by using the Grid (clicking the header) you can no longer
use the DataSet (or maybe the DataView, if that is what you are using) to
locate the record that the user has selected!!

You have to write code to get the current position...this should just be a
property!!

Also, can someone explain to me why does the FindRows return
DataRowView...w hat can you do with a DataRowView, I haven't figure out a way
to load this data into a new DataView or a DataSet (if there is a way,
please explain it to me). It seems that the FindRows should have just
return a new DataView!!

I understand why all of the necessary data access components are broken out
into many different parts, but why not ALSO build a component that
encompasses all of the components and use that as an "enhanced DataSet" that
can also be used as a Datasource to the grid and other components.(Thi s is
something that I have already done for myself.)

Maybe it's because I'm coming from Borland and expect top notch development
tools/comopnents...wh ere there VCL Framework and Data Access components were
THE BEST!!!

But I had to leave Borland because their management said that they were
killing the Borland C++ Builder (BCB) product about 6 months ago. But, they
just recently announced that they had a change of heart and will now support
BCB.
That's a little to flaky for me, so I jumped ship and moved to MS.

But with what I have seen in VS.NET (C#), I might have to talk my chances
with Borland.

Jul 21 '05
49 3213
You are using the wrong class. You should be using a datareader if you need
a connected resultset. If you read the description of the class right out of
the documentation, it clearly states that datasets are disconnected. There
is no ambiguity here.

I am really impressed with the people in this newsgroup and the effort that
they are making to try to help you. However to be honest it doesn't seem
like you are here to get help... just to complain. I suggest that instead of
wasting everybodies time here, you should go and actually *READ* the
documentation and try to understand it, instead of using Intellisense to
write code.
"Relaxin" wrote:
What I need is a connected resultset within the confines of a DataSet.

My database is full of images, and as you could imagine, this is a painful
process when they are all loaded to the clientside.

Anyone with any knowledge in this area?

"J. Buelna - Houston, TX" <jbuelna-not@microsoft.. .yet.com> wrote in message
news:OT******** ******@TK2MSFTN GP11.phx.gbl...

"Relaxin" <me@yourhouse.c om> wrote in message
news:eP******** ******@TK2MSFTN GP15.phx.gbl...
It is just me or has MS created some of the worst ways to access and
display
data?

You can use a DataSet, but if you want to sort or filter the data to must
use a DataView which is created from a DataSet.

But, if you sort by using the Grid (clicking the header) you can no
longer
use the DataSet (or maybe the DataView, if that is what you are using) to
locate the record that the user has selected!!

You have to write code to get the current position...this should just be
a
property!!

Also, can someone explain to me why does the FindRows return
DataRowView...w hat can you do with a DataRowView, I haven't figure out a
way
to load this data into a new DataView or a DataSet (if there is a way,
please explain it to me). It seems that the FindRows should have just
return a new DataView!!

I understand why all of the necessary data access components are broken
out
into many different parts, but why not ALSO build a component that
encompasses all of the components and use that as an "enhanced DataSet"
that
can also be used as a Datasource to the grid and other components.(Thi s
is
something that I have already done for myself.)

Maybe it's because I'm coming from Borland and expect top notch
development
tools/comopnents...wh ere there VCL Framework and Data Access components
were
THE BEST!!!

But I had to leave Borland because their management said that they were
killing the Borland C++ Builder (BCB) product about 6 months ago. But,
they
just recently announced that they had a change of heart and will now
support
BCB.
That's a little to flaky for me, so I jumped ship and moved to MS.

But with what I have seen in VS.NET (C#), I might have to talk my chances
with Borland.

Hello Relaxin,

I'm sorry, I don't have time to go into details. Here are some
references:

Microsoft® ADO.NET Step by Step
http://www.microsoft.com/mspress/books/4825.asp

Microsoft® ADO.NET (Core Reference)
http://www.microsoft.com/mspress/books/5354.asp

Professional ADO.NET
http://www.amazon.com/exec/obidos/tg...books&n=507846

It would be good to learn and fully understand ADO.NET on an academic
level before trying to use it in a commercial project. Unless your
employer allows you to learn the as you go.

ADO.NET is not perfect, but there was a lot of thought that went into
architecting it and rest assured that there is a solution for most of the
problems you'll run into.

J. Buelna - Houston, TX


Jul 21 '05 #31
you are right... it isn't necessarily the developer's fault. The tools
changed in a subtle way and that caused some problems.

I apologize for implying otherwise.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"Doug Stoltz" <No****@myemail .com> wrote in message
news:66******** *************** ***********@mic rosoft.com...
Nick, I have to address one of your statements about "lazy developers"
misusing server side cursors. In VB6 DAO recordsets the default was client side cursors, when ADO was introduced the default was server side cursors.
If you were testing in a small shop on a fast LAN the response time is barely noticable. I think the problem is that the default in ADO should have been client side cursors. This probaply lead to the scalability problems more
than programmer *laziness*.

I'm sure there were many programmers out there that did not notice the
difference until they rolled out into a different environment.

Cheers
"Nick Malik [Microsoft]" wrote:
"Relaxin" <me@yourhouse.c om> wrote in message
news:eY******** ******@tk2msftn gp13.phx.gbl...
> Well, then you might need to redesign your app - maybe you don't need > to select ALL the records INCLUDING the pictures! Maybe just rewrite
> your app to select FEWER records, and leave the images in the DB,
> until you REALLY need them.
>
> Heck, it's not ALWAYS MS's fault when your system is designed badly!

Just the answer I would expect from a MS junkie.


While it is unclear if the recepient of that comment would consider it an insult, it is clear to me that you intended to insult him. Let's keep a
cool head and discuss technology, OK?

If I want to cache all the records to the client then MS should allow me that option,


why? If you are referring to server-side cursors, the option created
unscalable applications. It was only intended for very narrow uses, and was nearly always misused by lazy developers creating apps that were not stress tested before being inflicted on the general public. Those apps were so bad that they gave MS technology a bad name, because they kept failing under
stress. Other database access methods don't allow this goofy design, and MS probably shouldn't have either. Sometimes, when you release a technology, it is hard to see how it will be used or misused. When you realize the
mistake, you take responsibility, correct it, and move on. The product
group did the right thing by turning the spotlight away from this idea.
if I need a live connection, that option should be a available


You have it. DataReader is a live connection. If by "live connection" you are referring to rowsets, you have to realize that this was another wildly misused "feature". It is rarely beneficial to use them and most apps that used them did so at their own peril.
Those were the options available to me with OLEDB.


And you can still use OLEDB if you want. No one is stopping you. It works just as well under .Net as it did under COM.

MS shouldn't dictate to me how I should write my application, but should give me the option to write it the way that "I" need it written.


With power comes responsibility to know how to use it. While your tools
should provide power, they should also relieve the burden of learning. In other words, they should lead you to make good decisions. The OLEDB tools led to some decisions, not all of them were good. Apparently, you are
rather attached to some of your decisions, but that doesn't make them good ones.

Also remember, that just because you don't know my design doesn't mean its bad,


True. However, you have revealed quite a bit about your design in this
series of threads. From what you have revealed, a few very simple
modifications to your design would allow it to work more efficiently and
much more scalably. Is it wrong to point that out? I'm not defending the previous poster for his emphasis (which was a bit condescending), but I do agree that a NG is a place for open discussion, even if it means discussion of design decisions on your part.
it just means you are a closed minded developer that thinks thier way
is the only way.
That's MS junkie thinking.


Don't be quick to throw stones, friend. In this discussion, who among us has shown an unwillingness to admit when a design is using tools in a sloppy manner to accomplish a goal that shows a strong lack of understanding of
efficient or effective data access. That unwillingness has led to much of the frustration that is coming out.

Perhaps, if you listen carefully, you may hear the sound of people who want to help you.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--

Jul 21 '05 #32

The only problem with this statement is that, the "database" still provides
this functionality (keyset, dynamic, forwardonly, etc) and is available to
anyone NOT using .NET, they only removed it from the .NET language.

So Microsoft did not remove anything, they just didn't add it to .NET.

So my point would be...if using it in a certain way causes you problems,
then change it to something that is more suitable. You should be given
access to it if you need, it shouldn't have been left out of .NET just
because "some" developers were having problems. That was the beauty of
OLEDB, you had other options to choose from if the one you were using wasn't
working for you.

The way it stands now you have no options.

"Nick Malik [Microsoft]" <ni*******@hotm ail.nospam.com> wrote in message
news:NIOAd.305 140$HA.192568@a ttbi_s01...
From what I've heard, the product teams were getting a lot of heat because
the prior stuff had serious scalability problems. The responses were
something along the lines of "If the feature looks good, but leads to
serious problems later, why is it there? Remove it now and save us the
pain. We have to live with this stuff." MS was simply responding to the
express needs of their base. If the make a little money along the way...
good. That's called capitalism.

Jul 21 '05 #33
If you would have read the entire thread, you would have seen that what I
need is a connected DataSet.

I need the power of the DataSet but in a connected manner, the way OLEDB
allowed.

So stop wasting my time.

"Darcy Townson" <Darcy To*****@discuss ions.microsoft. com> wrote in message
news:CF******** *************** ***********@mic rosoft.com...
You are using the wrong class. You should be using a datareader if you
need
a connected resultset. If you read the description of the class right out
of
the documentation, it clearly states that datasets are disconnected.
There
is no ambiguity here.

I am really impressed with the people in this newsgroup and the effort
that
they are making to try to help you. However to be honest it doesn't seem
like you are here to get help... just to complain. I suggest that instead
of
wasting everybodies time here, you should go and actually *READ* the
documentation and try to understand it, instead of using Intellisense to
write code.
"Relaxin" wrote:
What I need is a connected resultset within the confines of a DataSet.

My database is full of images, and as you could imagine, this is a
painful
process when they are all loaded to the clientside.

Anyone with any knowledge in this area?

"J. Buelna - Houston, TX" <jbuelna-not@microsoft.. .yet.com> wrote in
message
news:OT******** ******@TK2MSFTN GP11.phx.gbl...
>
> "Relaxin" <me@yourhouse.c om> wrote in message
> news:eP******** ******@TK2MSFTN GP15.phx.gbl...
>> It is just me or has MS created some of the worst ways to access and
>> display
>> data?
>>
>> You can use a DataSet, but if you want to sort or filter the data to
>> must
>> use a DataView which is created from a DataSet.
>>
>> But, if you sort by using the Grid (clicking the header) you can no
>> longer
>> use the DataSet (or maybe the DataView, if that is what you are using)
>> to
>> locate the record that the user has selected!!
>>
>> You have to write code to get the current position...this should just
>> be
>> a
>> property!!
>>
>> Also, can someone explain to me why does the FindRows return
>> DataRowView...w hat can you do with a DataRowView, I haven't figure out
>> a
>> way
>> to load this data into a new DataView or a DataSet (if there is a way,
>> please explain it to me). It seems that the FindRows should have just
>> return a new DataView!!
>>
>> I understand why all of the necessary data access components are
>> broken
>> out
>> into many different parts, but why not ALSO build a component that
>> encompasses all of the components and use that as an "enhanced
>> DataSet"
>> that
>> can also be used as a Datasource to the grid and other
>> components.(Thi s
>> is
>> something that I have already done for myself.)
>>
>> Maybe it's because I'm coming from Borland and expect top notch
>> development
>> tools/comopnents...wh ere there VCL Framework and Data Access
>> components
>> were
>> THE BEST!!!
>>
>> But I had to leave Borland because their management said that they
>> were
>> killing the Borland C++ Builder (BCB) product about 6 months ago.
>> But,
>> they
>> just recently announced that they had a change of heart and will now
>> support
>> BCB.
>> That's a little to flaky for me, so I jumped ship and moved to MS.
>>
>> But with what I have seen in VS.NET (C#), I might have to talk my
>> chances
>> with Borland.
>>
>
>
> Hello Relaxin,
>
> I'm sorry, I don't have time to go into details. Here are some
> references:
>
> Microsoft® ADO.NET Step by Step
> http://www.microsoft.com/mspress/books/4825.asp
>
> Microsoft® ADO.NET (Core Reference)
> http://www.microsoft.com/mspress/books/5354.asp
>
> Professional ADO.NET
> http://www.amazon.com/exec/obidos/tg...books&n=507846
>
> It would be good to learn and fully understand ADO.NET on an academic
> level before trying to use it in a commercial project. Unless your
> employer allows you to learn the as you go.
>
> ADO.NET is not perfect, but there was a lot of thought that went into
> architecting it and rest assured that there is a solution for most of
> the
> problems you'll run into.
>
> J. Buelna - Houston, TX
>


Jul 21 '05 #34
Dude, chill. Its just that you are learning a totally new framework that
uses terms similar to VCL but aren't VCL objects. Once you get past that,
you can start to move forward learning the new framework.

Incidently, coming from a strong Delphi background, I can tell you that
Borland's solutions aren't nearly as flexible, but that the stock visual
controls all pretty much stink. Do what you did with borland, go find a
quality replacement.

And as for borland's 'quality' tools, I point you to dbExpress (fatally
flawed and a total 180 on previous db technologies they provided)

Give it a chance to learn the new dotNet framework without carrying forward
VCL expectations and it will go easier!
Jul 21 '05 #35
I didn't use dbExpress, I rolled my own.

But you must be on drugs to think that .NET tools are better than
Borland's!!

I have learned dotNet in the hope that it would be better or even on the
same level as Borland, but to my disappointment, it's much worst.
But since MS is changing the canvas, I believe I am forced to paint with
this delapitated brush known as dotNet.

I'm still hopeful that they will get it right, version 2.0 looks
interesting, but still lack some important features.

Such as proper/better handling of resources by the garbage collector.
"Xepol" <Xe***@discussi ons.microsoft.c om> wrote in message
news:37******** *************** ***********@mic rosoft.com...
Dude, chill. Its just that you are learning a totally new framework that
uses terms similar to VCL but aren't VCL objects. Once you get past that,
you can start to move forward learning the new framework.

Incidently, coming from a strong Delphi background, I can tell you that
Borland's solutions aren't nearly as flexible, but that the stock visual
controls all pretty much stink. Do what you did with borland, go find a
quality replacement.

And as for borland's 'quality' tools, I point you to dbExpress (fatally
flawed and a total 180 on previous db technologies they provided)

Give it a chance to learn the new dotNet framework without carrying
forward
VCL expectations and it will go easier!

Jul 21 '05 #36

"Relaxin" <me@yourhouse.c om> wrote in message
news:er******** ******@TK2MSFTN GP14.phx.gbl...
I have learned dotNet


bah.

J. Buelna - Houston, TX
Jul 21 '05 #37
IT'S NOT JUST YOU!

1.) The DataGrid is a piece of 5h1t. Once you sort it, all bets are off. And
if you want to highlight a row (or cell)... fuggedaboutit. It is much cheaper
to buy a grid that doesn't suck than to try to make the MS DataGrid do what
the old grid (as in VB6) used to do (out of the box).

2.) Is ADO.NET better or worse than OLEDB? I hated it at first (mostly
because I was using it with the DataGrid) but now I am used to it and it
works fine. Was it a pain in neck to learn? Sure... but if this job was easy,
anybody could do it and it wouldn't pay as much.

3.) Resistance is futile.

"Relaxin" wrote:
It is just me or has MS created some of the worst ways to access and display
data?

You can use a DataSet, but if you want to sort or filter the data to must
use a DataView which is created from a DataSet.

But, if you sort by using the Grid (clicking the header) you can no longer
use the DataSet (or maybe the DataView, if that is what you are using) to
locate the record that the user has selected!!

You have to write code to get the current position...this should just be a
property!!

Also, can someone explain to me why does the FindRows return
DataRowView...w hat can you do with a DataRowView, I haven't figure out a way
to load this data into a new DataView or a DataSet (if there is a way,
please explain it to me). It seems that the FindRows should have just
return a new DataView!!

I understand why all of the necessary data access components are broken out
into many different parts, but why not ALSO build a component that
encompasses all of the components and use that as an "enhanced DataSet" that
can also be used as a Datasource to the grid and other components.(Thi s is
something that I have already done for myself.)

Maybe it's because I'm coming from Borland and expect top notch development
tools/comopnents...wh ere there VCL Framework and Data Access components were
THE BEST!!!

But I had to leave Borland because their management said that they were
killing the Borland C++ Builder (BCB) product about 6 months ago. But, they
just recently announced that they had a change of heart and will now support
BCB.
That's a little to flaky for me, so I jumped ship and moved to MS.

But with what I have seen in VS.NET (C#), I might have to talk my chances
with Borland.

Jul 21 '05 #38
Relaxin,

Man you just are not getting what ADO.NET is about are you. ADO.NET
first of all has nothing to do with the gatagrid, looks like your beef
lies with the winforms controls not ADO.NET. I myself am sometimes
frustrated with the datagrid control. The good news is that the
datagrid control has been completely revamped in the next revision of
the framework.

I work for a company which provides .NET training and a lot of people
have trouble transitioning from traditional programming concepts to .Net
concepts. Looks like you need a good understanding of what ADO.NET
provides and what it's role is in an application.

Forward only, keyset, etc have no place in datasets. How exactly would
you use a forward only dataset? A dataset is not a bound by a
connection to the db and does not behave like a recordset did in
previous programming frameworks.

I suggest you take the time to grasp what ADO.NET is before you make
suggestions on how it could be improved.

Sincerely,
Richard N.
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 21 '05 #39
All of what you said, I already know.
Forward only, keyset, etc have no place in datasets. How exactly would
you use a forward only dataset?
I wouldn't use a forward only dataset, but I sure as heck would use a
keyset.
I suggest you take the time to grasp what ADO.NET is before you make
suggestions on how it could be improved.
I fully understand ADO.NET. I'm only griping about things that I need, that
it lacks.

If you could explain to me how to get what I'm looking for, then I would
could concede that I need to get a bit more understanding about ADO.NET
under my belt.
But if you can't, then don't assume that I don't know it...assume that I do
know it.

Thanks

"Richard" <no*******@borl and.com> wrote in message
news:u7******** ******@TK2MSFTN GP15.phx.gbl... Relaxin,

Man you just are not getting what ADO.NET is about are you. ADO.NET
first of all has nothing to do with the gatagrid, looks like your beef
lies with the winforms controls not ADO.NET. I myself am sometimes
frustrated with the datagrid control. The good news is that the
datagrid control has been completely revamped in the next revision of
the framework.

I work for a company which provides .NET training and a lot of people
have trouble transitioning from traditional programming concepts to .Net
concepts. Looks like you need a good understanding of what ADO.NET
provides and what it's role is in an application.

Forward only, keyset, etc have no place in datasets. How exactly would
you use a forward only dataset? A dataset is not a bound by a
connection to the db and does not behave like a recordset did in
previous programming frameworks.

I suggest you take the time to grasp what ADO.NET is before you make
suggestions on how it could be improved.

Sincerely,
Richard N.
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Jul 21 '05 #40

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
1130
by: Grant Stanley | last post by:
I'm developing an application in VS.Net 2003 using C#, which uses Crystal Reports. When creating each report, crystal asks where the database to use is, so I specify our SQL server using the ADO option. The problem is that these database settings seem to get compiled into the report, so when we take the application to our client it won't work on their systems. Before running each report I run some code which is ment to reset the...
49
1850
by: Relaxin | last post by:
It is just me or has MS created some of the worst ways to access and display data? You can use a DataSet, but if you want to sort or filter the data to must use a DataView which is created from a DataSet. But, if you sort by using the Grid (clicking the header) you can no longer use the DataSet (or maybe the DataView, if that is what you are using) to locate the record that the user has selected!!
3
1574
by: windandwaves | last post by:
Hi Folk I have been asked to create an e-commerce website, where we need to connect to an SQL database. The database is used to run their POS in several branches. As this database is on the company server and we are hosting the website with a webhost we have to solve an communication issue. Here are the options that I can see:
74
3801
by: ljh | last post by:
Why would you choose SQL Express (which requires an installed application to work) over the simplicity of an Access database which has no dependencies?
25
2809
by: pereges | last post by:
Hello, I'm trying to build a database driven website for a library management system. The database is stored on a remote server which all of my team mates can access. I've installed MySQL, PHP and Apache on my machine. I'm a beginner and I really don't understand how to proceed. My biggest problem is how to connect to the database on remote mysql server ? Does php allow this kind of thing ? I'm interested in a web interface on my machine...
0
9432
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9873
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8891
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7420
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6682
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5313
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5454
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3974
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3578
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.