Another possability.

If you are using Autogenerated code it is probably assigning a new Dataset
in InitializeComponents. with Static it does not overwrite it.

Ben

-----Original Message-----
From: dotnet discussion [mailto:[EMAIL PROTECTED]]On Behalf Of Ian
Griffiths
Sent: Thursday, 30 May 2002 3:04 PM
To: [EMAIL PROTECTED]
Subject: Re: [DOTNET] why does DataSet have to be static meber


Of course what hadn't occurred to me was that you might be doing web forms.
Being a Windows Forms guy, I tend to think of a Windows Forms form when
someone says Form.

If it's ASP.NET, then no, as a couple of people have pointed out you don't
get the same instance every time.


--
Ian Griffiths
DevelopMentor

----- Original Message -----
From: "Karen Healey" <[EMAIL PROTECTED]>


> I can tell its empty because dstMaster is null.  I'm really stumped by
this!
> Is there something I should do in the constructor for my class to
initialize
> dstMaster?  The only code I have for it is the declaration and the three
> lines of code to copy an existing dataset and merge two others in.  And of
> course, the code to access the master which tests for null first.
>
> Thanks,
>
> Karen Healey
> [EMAIL PROTECTED]
>
>
> ----- Original Message -----
> From: "Ian Griffiths" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, May 29, 2002 16:56
> Subject: Re: [DOTNET] why does DataSet have to be static meber
>
>
> > It sounds like it should be OK.  If it's all the one form then it should
> be
> > the same instance.  If you wanted to verify that you could print out the
> > value for GetHashcode() in both places.  (Use something like
> > Debug.WriteLine, defined in the System.Diagnostics namespace.)  If the
> > numbers are the same then that normally means the instance is the same
> > unless GetHashcode has been overridden (and for a form it won't have
been,
> > unless you've overidden it yourself.)  If the hash codes are different
you
> > definitely have different instances.
> >
> > How are you determining that the DataSet is empty?  (Is the dstMaster
> itself
> > null?  Or is it non-null but referring to something that appears to have
> no
> > data in it?)
> >
> >
> > --
> > Ian Griffiths
> > DevelopMentor
> >
> > ----- Original Message -----
> > From: "Karen Healey" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Wednesday, May 29, 2002 10:49 PM
> > Subject: Re: [DOTNET] why does DataSet have to be static meber
> >
> >
> > > I'm sure the methods are executing in the correct order. But I'm not
> sure
> > > about it being the same instance.  It seems to me it should be the
same
> > > instance but I'm new to this.
> > >
> > > I have a multi-panel form (similating multiple pages).  At the bottom
of
> > one
> > > of the last panels made visible, I have a finish button.  In the
> > > FinishButton_Click method, the current panel is hidden, another panel
is
> > > made visible and the data set is built using the data member,
dstMaster.
> > > Then the user is at the new panel and this panel has a submit button
> (the
> > > finish button is no longer visible).  When the user clicks on the
submit
> > > button, the SubmitButton_Click method tries to access dstMaster and
its
> > > empty.  Seems like it goes away as soon as the code exits the
> > > FinishButton_Click method.
> > >
> > > So, since this is all one form and no other forms are brought up (just
a
> > > bunch of panels hidden/made visible) then it should be the same
> instance,
> > > right?
> > >
> > > Thanks,
> > >
> > > Karen Healey
> > > [EMAIL PROTECTED]
> > >
> > > ----- Original Message -----
> > > From: "Ian Griffiths" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Wednesday, May 29, 2002 16:38
> > > Subject: Re: [DOTNET] why does DataSet have to be static meber
> > >
> > >
> > > > I have never had any problems using DataSets as non-static members.
I
> > > > suspect that something slightly more subtle is going wrong.  Are you
> > > > absolutely sure that (a) the methods are executing in the order you
> > think
> > > > they are and (b) that they are actually executing on the same
instance
> > > both
> > > > times?
> > > >
> > > >
> > > > --
> > > > Ian Griffiths
> > > > DevelopMentor
> > > >
> > > > ----- Original Message -----
> > > > From: "Karen Healey" <[EMAIL PROTECTED]>
> > > >
> > > > > I've created a class in C# with a DataSet data member declared
like
> > > this:
> > > > >
> > > > >      private DataSet dstMaster;
> > > > >
> > > > > I have a method that builds it by concatenating three datasets
> > together
> > > > > like this:
> > > > >
> > > > >    dstMaster = dstOrg.Copy();
> > > > >    dstMaster.Merge( dstContact );
> > > > >    dstMaster.Merge( dstFunding );
> > > > >
> > > > > In a SEPARATE method, I try to access the contents of the dataset
> but
> > it
> > > > > is empty!
> > > > >
> > > > > If I declare the dataset as static, I don't have this problem.  I
> > don't
> > > > > understand why this is necessary.
> > > > >
> > > > > If someone could explain this to me it would be appreciated.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to