0

new Dataset()C# コード (Windows Mobile Compact Framework) で新しい SQL 呼び出しごとに割り当てる DataSet をクリアするには、何を使用すればよいですか?

現時点では Clear() を使用していますが、代わりに Dispose を使用する必要があるかどうかはわかりません。これには何が適切な選択でしょうか?

いくつかのコード:

frmA (データベースの SQL 検索を実行するメイン フォーム) 内で、検索結果をデータベースに保存し、count が 0 より大きい場合は、別のフォームに移動してfrmNewWork、見つかったデータを処理します。

// 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()
}

今... から戻ったらmyForm、そのデータベースをクリアしたいので、フォーム AGotFocus関数内でそれを行います:

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

2 に答える 2

2

2点

1) ShowDialog() メソッドを使用して表示されている他のフォームの後にデータセットをクリアする場合。myForm.ShowDialog();あなたはあなたの声明の直後にそれを行うことができます.

2)ASTSDataSet管理されていない場合は、Dispose を呼び出します。それ以外の場合は何もしません。GC が処理します。

于 2013-10-15T14:45:22.500 に答える