私はスレッドを使用しようとしていますが、何か問題があります(私はスレッド時に初心者です)マルチスレッド情報
私のコードはそうです。私は、フォーム内のデータセットを持っていると私は、データベースとクレタアダプタから、フォーム内のデータセットfiilいくつかtablequeryを取得したい
Dataset mydataset=new DataSet();
private void Form_Load(object sender,eventargs e)
{
SqlConnection con=new SqlConnection("constring");
SqlDataAdapter adap=new SqlDataAdapter("select * from Tables");
DataTable dt=new DataTable();
adap.Fill(dt);
foreach(DataRow dr in dt.Rows)
{
ThreadStarter mystarter=delegate{ CreateTable(dr); };
Thread mythread=new Thread();
mythread.Start();
}
}
void CreateTable(DataRow dr)
{
SqlDataAdapter adap2=new SqlDataAdapter(dr["Query"].toString(),con);
ada2.Fiil(myDataSet);
}
最初閉じため、すでにSqlDataReaderのがある」のように、私はエラーを取得する.Iこのコードを使用する場合" どうすればいいですか?
「私のようなエラーが表示されます」 - 実際のエラーを教えてもらえますか? – JosephH
貼り付けられたコードがどのようにコンパイルされていても働くことができるのだろうかと思います。 ThreadStarterはThreadStartDelegateで、新しいThread()は新しいスレッド(mystarter)で、Form_Loaded()で宣言された "con"変数を使用しようとしていて、別のスレッドで呼び出された別の関数でそのスレッドにアクセスしています。 –