Dataset in Session state

V

Vik

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.
 
H

Hermit Dave

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.
 
V

Vik

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
 
H

Hermit Dave

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.
 
V

Vik

Thank you. This works.

Vik

Hermit Dave said:
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.
 
V

Vik

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

Vik
 

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

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top