Dataset in Session state

Discussion in 'ASP .Net' started by Vik, Feb 4, 2004.

  1. Vik

    Vik Guest

    A dataset is saved in session state. Then the dataset is filled out with the
    new records using a dataadapter. It appears then that the dataset saved in
    session state contains the new records even without saving the updated
    dataset.

    Why does this happen? How can I preserve the dataset saved in session state
    from automatical updating?

    Thank you.
     
    Vik, Feb 4, 2004
    #1
    1. Advertising

  2. Vik

    Hermit Dave Guest

    a code snip on how you are trying to use it would help. From my current
    understanding here's what i think:

    when you add objects to session they are added by value and not by
    reference. ie one that you are refering to in you code is a local copy of
    the object stored session.
    any changes to the local copy would not be updated directly. you will need
    to manually update the object in session.

    --
    Regards,
    HD
    Once a Geek.... Always a Geek
    "Vik" <viktorum@==hotmail.com==> wrote in message
    news:...
    >A dataset is saved in session state. Then the dataset is filled out with
    >the
    > new records using a dataadapter. It appears then that the dataset saved in
    > session state contains the new records even without saving the updated
    > dataset.
    >
    > Why does this happen? How can I preserve the dataset saved in session
    > state
    > from automatical updating?
    >
    > Thank you.
    >
    >
     
    Hermit Dave, Feb 4, 2004
    #2
    1. Advertising

  3. Vik

    Vik Guest

    Thank you Hermit. Here is my code.

    SqlDataAdapter1 and DataSet11 are created in design time.
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles MyBase.Load

    'Put user code to initialize the page here

    Dim N0, N1, N2 As Int16, Str1, Str2 As String, DS As DataSet

    Session("DS") = DataSet11

    N0 = DataSet11.Tables(0).Rows.Count 'N0=0

    SqlDataAdapter1.Fill(DataSet11)

    DS = Session("DS")

    N1 = DataSet11.Tables(0).Rows.Count 'N1=3

    N2 = DS.Tables(0).Rows.Count 'N2=3

    Str1 = DataSet11.Tables(0).Rows(1)(1) 'Str1="Other"

    Str2 = DS.Tables(0).Rows(1)(1) 'Str2="Other"

    End Sub

    So, the dataset is saved in session state only once when it is empty. After
    the dataset is filled out its saved copy has all the new records. What I
    need and expected is that the dataset in session state keeps the old records
    (remains empty in this case) when the real dataset is updated.

    Vik

    "Hermit Dave" <> wrote in message
    news:%...
    > a code snip on how you are trying to use it would help. From my current
    > understanding here's what i think:
    >
    > when you add objects to session they are added by value and not by
    > reference. ie one that you are refering to in you code is a local copy of
    > the object stored session.
    > any changes to the local copy would not be updated directly. you will need
    > to manually update the object in session.
    >
    > --
    > Regards,
    > HD
    > Once a Geek.... Always a Geek
    > "Vik" <viktorum@==hotmail.com==> wrote in message
    > news:...
    > >A dataset is saved in session state. Then the dataset is filled out with
    > >the
    > > new records using a dataadapter. It appears then that the dataset saved

    in
    > > session state contains the new records even without saving the updated
    > > dataset.
    > >
    > > Why does this happen? How can I preserve the dataset saved in session
    > > state
    > > from automatical updating?
    > >
    > > Thank you.
    > >
    > >

    >
    >
     
    Vik, Feb 5, 2004
    #3
  4. Vik

    Hermit Dave Guest

    i see what you mean now.

    try using

    Session("DS") = DataSet11.Copy()

    that way you are explicitly saving a copy. I will have a play around with
    this later on.

    --
    Regards,
    HD
    Once a Geek.... Always a Geek
    "Vik" <viktorum@==hotmail.com==> wrote in message
    news:%23hHYK2$...
    > Thank you Hermit. Here is my code.
    >
    > SqlDataAdapter1 and DataSet11 are created in design time.
    > Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
    > System.EventArgs) Handles MyBase.Load
    >
    > 'Put user code to initialize the page here
    >
    > Dim N0, N1, N2 As Int16, Str1, Str2 As String, DS As DataSet
    >
    > Session("DS") = DataSet11
    >
    > N0 = DataSet11.Tables(0).Rows.Count 'N0=0
    >
    > SqlDataAdapter1.Fill(DataSet11)
    >
    > DS = Session("DS")
    >
    > N1 = DataSet11.Tables(0).Rows.Count 'N1=3
    >
    > N2 = DS.Tables(0).Rows.Count 'N2=3
    >
    > Str1 = DataSet11.Tables(0).Rows(1)(1) 'Str1="Other"
    >
    > Str2 = DS.Tables(0).Rows(1)(1) 'Str2="Other"
    >
    > End Sub
    >
    > So, the dataset is saved in session state only once when it is empty.
    > After
    > the dataset is filled out its saved copy has all the new records. What I
    > need and expected is that the dataset in session state keeps the old
    > records
    > (remains empty in this case) when the real dataset is updated.
    >
    > Vik
    >
    > "Hermit Dave" <> wrote in message
    > news:%...
    >> a code snip on how you are trying to use it would help. From my current
    >> understanding here's what i think:
    >>
    >> when you add objects to session they are added by value and not by
    >> reference. ie one that you are refering to in you code is a local copy of
    >> the object stored session.
    >> any changes to the local copy would not be updated directly. you will
    >> need
    >> to manually update the object in session.
    >>
    >> --
    >> Regards,
    >> HD
    >> Once a Geek.... Always a Geek
    >> "Vik" <viktorum@==hotmail.com==> wrote in message
    >> news:...
    >> >A dataset is saved in session state. Then the dataset is filled out with
    >> >the
    >> > new records using a dataadapter. It appears then that the dataset saved

    > in
    >> > session state contains the new records even without saving the updated
    >> > dataset.
    >> >
    >> > Why does this happen? How can I preserve the dataset saved in session
    >> > state
    >> > from automatical updating?
    >> >
    >> > Thank you.
    >> >
    >> >

    >>
    >>

    >
    >
     
    Hermit Dave, Feb 5, 2004
    #4
  5. Vik

    Vik Guest

    Thank you. This works.

    Vik

    "Hermit Dave" <> wrote in message
    news:...
    > i see what you mean now.
    >
    > try using
    >
    > Session("DS") = DataSet11.Copy()
    >
    > that way you are explicitly saving a copy. I will have a play around with
    > this later on.
    >
    > --
    > Regards,
    > HD
    > Once a Geek.... Always a Geek
    > "Vik" <viktorum@==hotmail.com==> wrote in message
    > news:%23hHYK2$...
    > > Thank you Hermit. Here is my code.
    > >
    > > SqlDataAdapter1 and DataSet11 are created in design time.
    > > Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
    > > System.EventArgs) Handles MyBase.Load
    > >
    > > 'Put user code to initialize the page here
    > >
    > > Dim N0, N1, N2 As Int16, Str1, Str2 As String, DS As DataSet
    > >
    > > Session("DS") = DataSet11
    > >
    > > N0 = DataSet11.Tables(0).Rows.Count 'N0=0
    > >
    > > SqlDataAdapter1.Fill(DataSet11)
    > >
    > > DS = Session("DS")
    > >
    > > N1 = DataSet11.Tables(0).Rows.Count 'N1=3
    > >
    > > N2 = DS.Tables(0).Rows.Count 'N2=3
    > >
    > > Str1 = DataSet11.Tables(0).Rows(1)(1) 'Str1="Other"
    > >
    > > Str2 = DS.Tables(0).Rows(1)(1) 'Str2="Other"
    > >
    > > End Sub
    > >
    > > So, the dataset is saved in session state only once when it is empty.
    > > After
    > > the dataset is filled out its saved copy has all the new records. What I
    > > need and expected is that the dataset in session state keeps the old
    > > records
    > > (remains empty in this case) when the real dataset is updated.
    > >
    > > Vik
    > >
    > > "Hermit Dave" <> wrote in

    message
    > > news:%...
    > >> a code snip on how you are trying to use it would help. From my current
    > >> understanding here's what i think:
    > >>
    > >> when you add objects to session they are added by value and not by
    > >> reference. ie one that you are refering to in you code is a local copy

    of
    > >> the object stored session.
    > >> any changes to the local copy would not be updated directly. you will
    > >> need
    > >> to manually update the object in session.
    > >>
    > >> --
    > >> Regards,
    > >> HD
    > >> Once a Geek.... Always a Geek
    > >> "Vik" <viktorum@==hotmail.com==> wrote in message
    > >> news:...
    > >> >A dataset is saved in session state. Then the dataset is filled out

    with
    > >> >the
    > >> > new records using a dataadapter. It appears then that the dataset

    saved
    > > in
    > >> > session state contains the new records even without saving the

    updated
    > >> > dataset.
    > >> >
    > >> > Why does this happen? How can I preserve the dataset saved in session
    > >> > state
    > >> > from automatical updating?
    > >> >
    > >> > Thank you.
    > >> >
    > >> >
    > >>
    > >>

    > >
    > >

    >
    >
     
    Vik, Feb 5, 2004
    #5
  6. Vik

    Vik Guest

    Is it possible to release memory occupied by a Session object? E.g. will
    this work: Session("DS") = Nothing ?

    Vik

    "Hermit Dave" <> wrote in message
    news:...
    > i see what you mean now.
    >
    > try using
    >
    > Session("DS") = DataSet11.Copy()
    >
    > that way you are explicitly saving a copy. I will have a play around with
    > this later on.
    >
    > --
    > Regards,
    > HD
    > Once a Geek.... Always a Geek
    > "Vik" <viktorum@==hotmail.com==> wrote in message
    > news:%23hHYK2$...
    > > Thank you Hermit. Here is my code.
    > >
    > > SqlDataAdapter1 and DataSet11 are created in design time.
    > > Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
    > > System.EventArgs) Handles MyBase.Load
    > >
    > > 'Put user code to initialize the page here
    > >
    > > Dim N0, N1, N2 As Int16, Str1, Str2 As String, DS As DataSet
    > >
    > > Session("DS") = DataSet11
    > >
    > > N0 = DataSet11.Tables(0).Rows.Count 'N0=0
    > >
    > > SqlDataAdapter1.Fill(DataSet11)
    > >
    > > DS = Session("DS")
    > >
    > > N1 = DataSet11.Tables(0).Rows.Count 'N1=3
    > >
    > > N2 = DS.Tables(0).Rows.Count 'N2=3
    > >
    > > Str1 = DataSet11.Tables(0).Rows(1)(1) 'Str1="Other"
    > >
    > > Str2 = DS.Tables(0).Rows(1)(1) 'Str2="Other"
    > >
    > > End Sub
    > >
    > > So, the dataset is saved in session state only once when it is empty.
    > > After
    > > the dataset is filled out its saved copy has all the new records. What I
    > > need and expected is that the dataset in session state keeps the old
    > > records
    > > (remains empty in this case) when the real dataset is updated.
    > >
    > > Vik
    > >
    > > "Hermit Dave" <> wrote in

    message
    > > news:%...
    > >> a code snip on how you are trying to use it would help. From my current
    > >> understanding here's what i think:
    > >>
    > >> when you add objects to session they are added by value and not by
    > >> reference. ie one that you are refering to in you code is a local copy

    of
    > >> the object stored session.
    > >> any changes to the local copy would not be updated directly. you will
    > >> need
    > >> to manually update the object in session.
    > >>
    > >> --
    > >> Regards,
    > >> HD
    > >> Once a Geek.... Always a Geek
    > >> "Vik" <viktorum@==hotmail.com==> wrote in message
    > >> news:...
    > >> >A dataset is saved in session state. Then the dataset is filled out

    with
    > >> >the
    > >> > new records using a dataadapter. It appears then that the dataset

    saved
    > > in
    > >> > session state contains the new records even without saving the

    updated
    > >> > dataset.
    > >> >
    > >> > Why does this happen? How can I preserve the dataset saved in session
    > >> > state
    > >> > from automatical updating?
    > >> >
    > >> > Thank you.
    > >> >
    > >> >
    > >>
    > >>

    > >
    > >

    >
    >
     
    Vik, Feb 5, 2004
    #6
  7. Vik

    Hermit Dave Guest

    you certainly can

    --
    Regards,
    HD
    Once a Geek.... Always a Geek
    "Vik" <viktorum@==hotmail.com==> wrote in message
    news:...
    > Is it possible to release memory occupied by a Session object? E.g. will
    > this work: Session("DS") = Nothing ?
    >
    > Vik
    >
    > "Hermit Dave" <> wrote in message
    > news:...
    >> i see what you mean now.
    >>
    >> try using
    >>
    >> Session("DS") = DataSet11.Copy()
    >>
    >> that way you are explicitly saving a copy. I will have a play around with
    >> this later on.
    >>
    >> --
    >> Regards,
    >> HD
    >> Once a Geek.... Always a Geek
    >> "Vik" <viktorum@==hotmail.com==> wrote in message
    >> news:%23hHYK2$...
    >> > Thank you Hermit. Here is my code.
    >> >
    >> > SqlDataAdapter1 and DataSet11 are created in design time.
    >> > Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
    >> > System.EventArgs) Handles MyBase.Load
    >> >
    >> > 'Put user code to initialize the page here
    >> >
    >> > Dim N0, N1, N2 As Int16, Str1, Str2 As String, DS As DataSet
    >> >
    >> > Session("DS") = DataSet11
    >> >
    >> > N0 = DataSet11.Tables(0).Rows.Count 'N0=0
    >> >
    >> > SqlDataAdapter1.Fill(DataSet11)
    >> >
    >> > DS = Session("DS")
    >> >
    >> > N1 = DataSet11.Tables(0).Rows.Count 'N1=3
    >> >
    >> > N2 = DS.Tables(0).Rows.Count 'N2=3
    >> >
    >> > Str1 = DataSet11.Tables(0).Rows(1)(1) 'Str1="Other"
    >> >
    >> > Str2 = DS.Tables(0).Rows(1)(1) 'Str2="Other"
    >> >
    >> > End Sub
    >> >
    >> > So, the dataset is saved in session state only once when it is empty.
    >> > After
    >> > the dataset is filled out its saved copy has all the new records. What
    >> > I
    >> > need and expected is that the dataset in session state keeps the old
    >> > records
    >> > (remains empty in this case) when the real dataset is updated.
    >> >
    >> > Vik
    >> >
    >> > "Hermit Dave" <> wrote in

    > message
    >> > news:%...
    >> >> a code snip on how you are trying to use it would help. From my
    >> >> current
    >> >> understanding here's what i think:
    >> >>
    >> >> when you add objects to session they are added by value and not by
    >> >> reference. ie one that you are refering to in you code is a local copy

    > of
    >> >> the object stored session.
    >> >> any changes to the local copy would not be updated directly. you will
    >> >> need
    >> >> to manually update the object in session.
    >> >>
    >> >> --
    >> >> Regards,
    >> >> HD
    >> >> Once a Geek.... Always a Geek
    >> >> "Vik" <viktorum@==hotmail.com==> wrote in message
    >> >> news:...
    >> >> >A dataset is saved in session state. Then the dataset is filled out

    > with
    >> >> >the
    >> >> > new records using a dataadapter. It appears then that the dataset

    > saved
    >> > in
    >> >> > session state contains the new records even without saving the

    > updated
    >> >> > dataset.
    >> >> >
    >> >> > Why does this happen? How can I preserve the dataset saved in
    >> >> > session
    >> >> > state
    >> >> > from automatical updating?
    >> >> >
    >> >> > Thank you.
    >> >> >
    >> >> >
    >> >>
    >> >>
    >> >
    >> >

    >>
    >>

    >
    >
     
    Hermit Dave, Feb 5, 2004
    #7
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. shamanthakamani
    Replies:
    1
    Views:
    3,497
    Natty Gur
    Nov 20, 2003
  2. Not Liking Dot Net Today
    Replies:
    0
    Views:
    614
    Not Liking Dot Net Today
    Apr 21, 2004
  3. Maciek
    Replies:
    0
    Views:
    8,255
    Maciek
    Sep 15, 2005
  4. jnickfl1
    Replies:
    0
    Views:
    594
    jnickfl1
    Sep 18, 2006
  5. Harry Haller
    Replies:
    0
    Views:
    1,660
    Harry Haller
    Nov 7, 2006
Loading...

Share This Page