저는 QueriesTableAdapter가있는 DataSet을 가지고 있습니다. SqlCommand.CommandTimeout을 제어하기 위해 ChangeTimeout이라는 공용 메서드로 QueriesTableAdapter라는 부분 클래스를 추가했습니다.Control TableAdapter 명령 시간 초과 전체적으로
partial class QueriesTableAdapter
{
public void ChangeTimeout(int timeout)
{
foreach (System.Data.SqlClient.SqlCommand cmd in CommandCollection)
{
cmd.CommandTimeout = timeout;
}
}
}
내가 가지고있는 모든 데이터 세트에는 QueriesTableAdapter가 있으며, 실행하기 전에 CommandTimeout을 설정할 수 있습니다.
"QueriesTableAdapter"가 DataSet 디자이너에서 이름이 지정 되었기 때문에 대부분의 경우에 잘 작동합니다. 내가 실행중인 문제는 유일하게 명명 된 TableAdapters입니다. 예를 들어 Person이라는 DataTable과 PersonTableAdapter라는 TableAdaper가있는 경우 QueriesTableAdaper 클래스를 작성한 것과 같은 방식으로 PersonTableAdapter 부분 클래스를 작성해야합니다. 고유 한 TableAdapter 이름을 가진 수백 개의 DataTable이 있습니다. 나는 그것들 각각에 대해 부분적인 클래스를 만들고 싶지 않다. 전역 클래스에서 부분 클래스의 기본 SqlCommand 개체를 얻으려면 어떻게해야합니까?
우수! 나는 똑같은 문제가 있었다. 귀하의 솔루션이 작동합니다. –
마지막 줄 명령 [0] .CommandTimeout = timeout; 다음과 같이 TableAdapter에서 여러 메서드를 제공합니다. foreach (명령에서 SqlCommand sc) { sc.CommandTimeout = timeout; } – riaandelange