Hi Cor,
the main benefit is improved user experience. An end user feels more
comfortable to see a message like "Please wait while data is been loaded"
while the background thread populates the dataset than seeing the screen
freezing during the activity. Also, you can proceed with doing something
else as the main thread is not blocked.
Yes, you are right, database & data adapter errors are not caught directly
because you have very little control over async operation. Still you can set
some properties to get those later for proceedings.
Basically, the implementation models for both the async callbacks & events
are same, they use delegates. But you have two different approaches to go as
per your requirements.
Thanks
Joyjit
Cor Ligthert said:
Joyjit,
I have readed this often. Can you tell me what is the benefit from this,
with this sample you now have to monitor that the work is done.
The user is only interested that his screen is not freezed but while doing
this can see something.
It looks for me a nice method for the programmer who can be very proud on
it, however for the enduser it gives in my opinion not any benefit except
that he can close his application while the datagrid is updating.
Which means that when there are errors those are never catched and your
database has errors somewhere in the middle. (Which can be catched in the
thread of course as well however makes it only more difficult, because of
the communication with the UI )
I think that when you want this kind of things using the dataadapter events
are a much better way to do this.
http://msdn.microsoft.com/library/d...AddingRemovingADONETProviderEvents.aspHowever
just my thought, and when I see something wrong tell me?Coir"Joyjit
Mukherjee" <
[email protected]>> Hi,>> if the data to be loaded to
the dataset is relatively large, the best wayof> calling the fill method is
via a callback method asynchronously which will> create a separate thread to
run in parallel with the main thread. When the> new thread is finished the
callback mechanism will let the main threadknow> that the operation is
finished, so that you can show the results. See more> in this recent MSDN
magazine article: ->
http://msdn.microsoft.com/msdnmag/issues/04/01/BasicInstincts/>> Regards>
I have a function that
call a stored procedure which performs an>> insert command. now i want to
refresh the dataset so that the newly>> inserted data will be available to
my datagrid>>>> I have tried to call>>>>
DsStudentCourse1.Tables("SchYrSemCourseJoin").Clear()>>
SqlDataAdapter3.Fill(DsStudentCourse1)>>>> However, the fill method causes a
lot of time to process.>>>> anyone know what is the best way to fill/refresh
the dataset again so>> that the newly inserted records will be available to
my datagrid?>>>> thanks in advance.>>