0
我在c#中設計了一個查詢執行器,它允許您選擇多個文件(.sql)並在列表中選擇多個數據庫上運行這些查詢。 由於這個過程有時需要很長時間,我想向用戶提供一些信息。在我的代碼中,我首先遍歷每個數據庫,併爲每個數據庫遍歷所有文件(.sql),然後執行它們。 在我的表單中,我有兩個標籤,我想顯示當前數據庫,另一個顯示正在運行的文件。 這已經完成了,問題在於標籤沒有更新,表格被凍結,我明白我必須使用線程,但不是如何。 這裏是我的代碼:讀取文件時使用文件名更新標籤
for (int i = 0; i < listBox1.CheckedItems.Count; i++)
{
String bd = listBox1.CheckedItems[i].ToString();
this.textBD.Text = bd; //UPDATE CURRENT DATABASE LABEL
bd = bd.Replace("CL25DEMAYO.", "");
string ConnStrng = "Data Source=CL25DEMAYO;Initial Catalog=" + bd + "; User Id=sa;Password=190205;";
try
{
this.SqlConn = new SqlConnection(ConnStrng);
this.SqlConn.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
for (int e = 0; e < listBoxArchivos.Items.Count; e++)
{
String archi = listBoxArchivos.Items[e].ToString();
this.textScript.Text = archi; //UPDATE CURRENT FILE LABEL
FileInfo file = new FileInfo(archi);
string script = file.OpenText().ReadToEnd();
SqlCommand command = new SqlCommand(script, SqlConn);
command.ExecuteNonQuery();
}
SqlConn.Close();
}
將不勝感激,如果有人可以幫助我。