Question

What should I use to clear DataSet which I assign to new Dataset() on every new SQL call in my C# code (Windows Mobile Compact Framework)?

At the moment I am using Clear(), however I am not sure if I should be using Dispose instead. What would be proper choice for this?

Some code:

Inside frmA (main form where I perform SQL search of database) I save my search result into Database and if count is greater than 0, I go to another form frmNewWork to do some work with found data:

// search SQL
// declare connectionString and command... 
SqlCeDataAdapter adapter = new SqlCeDataAdapter(mCommand);
modFunctions.tempDataset = new NEWDataSet();
adapter.Fill(modFunctions.tempDataset, "item");
foundCount = modFunctions.tempDataset.item.Count;

// Goes off to another form to do somework with that dataset
if (foundCount > 0)
{
    frmNewWork myForm = new frmNewWork();
    myForm.ShowDialog()
}

Now... once I return from myForm, I want to clear that database, and I do that inside form A GotFocus function:

private void frmA_GotFocus(object sender, EventArgs e)
{
    // Clear prior tempDataset (was .Clear() originally)
    modFunctions.tempDataset.Dispose();
}
Was it helpful?

Solution 2

Two points

1) If you want to clear the Dataset after other form which is shown using ShowDialog() method. You can do it just after your myForm.ShowDialog(); statement.

2) If ASTSDataSet is unmanaged call Dispose. Otherwise do not do anything, GC will take care.

OTHER TIPS

Write the Code like this..

using(DataSet ds= new Dataset()
{
}

No need to Worry About Dispose.

You can also look at this link. http://www.csharptuts.net/dataset-in-c/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top