2013-10-15 1 views
0

C# 코드 (Windows Mobile Compact Framework)에서 새로운 SQL 호출이있을 때마다 new Dataset()에 할당 한 DataSet을 지우려면 어떻게해야합니까?C#에서 새 데이터 집합()에 할당 된 데이터 집합을 지우려면 지우기() 또는 Dispose()를 사용합니까?

현재 Clear()를 사용하고 있지만 대신 Dispose를 사용해야하는지 잘 모르겠습니다. 이것에 대한 적절한 선택은 무엇입니까?

일부 코드 : 나는 데이터베이스에 내 검색 결과를 저장하고 카운트가 0보다 큰 경우, 내가 함께 몇 가지 작업을 수행하는 또 다른 형태의 frmNewWork로 이동 (I 데이터베이스의 SQL 검색을 수행 할 기본 양식)

내부 frmA 발견 데이터 : 내가 myForm에서 반환하면

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

지금 ..., 그 데이터베이스를 삭제하려면, 나는 내부의 GotFocus 기능 형성 그렇게 :

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

포스트 코드는 상황을 설명합니다. Btw Clear(), Dispose() 및 새 DataSet()은 다른 용도로 사용됩니다. –

+0

죄송합니다. 일부 코드를 추가했습니다. – 22332112

답변

2

두 점

1). myForm.ShowDialog(); 진술 문 바로 뒤에서 할 수 있습니다.

2) ASTSDataSet이 관리되지 않는 통화 인 경우 Dispose. 그렇지 않으면 아무 것도하지 않으면 GC가 처리합니다.

+1

'IDisposable'을 구현하면 항상'Dispose'를 호출하십시오. – Gene

3

는 다음과 같이 코드를 작성하지 ..

using(DataSet ds= new Dataset() 
{ 
} 

폐기 걱정할 필요합니다.

이 링크를 볼 수도 있습니다. 당신이 ShowDialog를() 메소드를 사용하여 표시됩니다 다른 형태의 후 데이터 세트를 삭제하려면 http://www.csharptuts.net/dataset-in-c/

관련 문제