2012-08-24 2 views
1

이 코드다시 연결 SqlDataAdapter를

DataTable dt= new DataTable(); 
    SqlDataAdapter da; 


    private void LoadData() 
     { 
      using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cnn"].ConnectionString)) 
      { 


      da = new SqlDataAdapter("Select * from table",cnn);     
      da.Fill(dt); 

      } 

     } 

연결이 오른쪽 후 종료됩니다 있나요? DataTable을 업데이트하려면 어떻게 da를 cnn에 다시 연결할 수 있습니까?

+0

당신이 UpdateCommnd를 어떻게 설정됩니까? http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.updatecommand(v=vs.100).aspx –

+0

업데이트 할 때 새 항목에서 선택을 다시 수행한다는 의미입니까? 테이블에? –

답변

0

예, using 문은 SqlConnection에서 Dispose를 호출합니다. using Statement을 참조하십시오.

이 방식으로 다시 연결하려면 원래 using 문 내에서 업데이트 또는 업데이트를 수행하기 위해 다른 using 문이 필요합니다.

+0

감사합니다. 새 SqlDataAdapter를 인스턴스화해야 생성자에 연결을 넣을 수 있습니까? –

+0

SqlDataAdapter 개체에 명령을 설정하고 다시 사용할 수 있어야합니다. – johnnadeau

0

Fill 메서드는 연결된 SelectCommand 속성에 의해 지정된 SELECT 문을 사용하여 데이터 소스에서 행을 검색합니다. SELECT.과 연관된 연결 오브젝트는 유효해야하지만 열 필요는 없습니다. Fill이 호출되기 전에 연결이 닫히면 데이터를 검색 한 다음 닫습니다. Fill이 호출되기 전에 연결이 열려 있으면 열려 있습니다.

출처 : See this