내 문제는 단순히 내 SQL 쿼리를 완료하는 데 2 분 이상 걸리고 모든 데이터를 가져 오는 동안 응용 프로그램이 멈추지 않을 수 있습니다. 멀티 스레딩을 시도했지만 오류가 발생하여 계속 인식하고 있습니다. 내 코드가 그 밑에있다.스레드에 데이터로드
크로스 스레드 작업이 유효하지 않습니다. 'labelEdit1'컨트롤이 작성된 스레드가 아닌 다른 스레드에서 액세스했습니다. 다음 알려 주시기 바랍니다이 작업을 수행하는 더 나은 방법이있는 경우 응용 프로그램이 얼어하지 않는 데이터가 comboEdit에로드받을 수 있도록
private void Form_Load(object sender, EventArgs e)
{
startup = new Thread(loadInThread);
startup.Start();
}
private void loadInThread()
{
//getsDataFromSQL() is the method that takes over 2 minutes to do
//it returns a String Array if that is helpful
comboEdit1.Properties.Items.AddRange(getsDataFromSQL());
startup.Abort();
}
, 내가 필요한 모든입니다. 또한 SQL 문을 최적화 할 수 있지만이 질문에 대한 것이 아니라는 것을 알고 있으므로 제안하지 마십시오.
크로스 스레드 예외에 대한 조사를 수행 했습니까? 이 질문에 대한 가장 처음으로 관련된 질문은 제목이 "크로스 스레드 작업이 유효하지 않습니다 : 스레드가 만든 스레드가 아닌 다른 스레드에서 액세스 제어"... –
http://stackoverflow.com/questions/142003/cross -thread-operation-not-valid-control-than-the-the-other-than-the-the-rq = 1 –
-1 연구 부족 –