如何在Windows應用程序使用數據庫時顯示等待消息。如何在應用程序使用數據庫時顯示等待消息?
問題是當我顯示消息「Please wait ...」時,應用程序在響應完成數據庫操作後纔會響應。
我有簡單的功能,而它正在執行我想顯示一個類似的消息DB互動「請稍候...」
但我的應用程序不應該掛,必須響應用戶交互。
這是我的功能。
public void getReleaseInfo(Label lblDbVersion)
{
if (gc.logger.IsInfoEnabled)
gc.logger.Info("getReleaseInfo - Method Start");
string l_sConfigPath = gc.APP_CONFIG_FILE_PATH;
var element = XDocument.Load(l_sConfigPath).Descendants("configuration").Descendants("connectionStrings");
if (element != null)
{
foreach (var item in element.Elements("add"))
{
gc.APP_CONNECTIONSTRING = (string)item.Attribute("connectionString");
}
}
try
{
m_oConn = new SqlConnection(gc.APP_CONNECTIONSTRING);
m_oConn.Open();
using (SqlDataAdapter l_oDA = new SqlDataAdapter(gc.SP_GETRELEASEINFO, m_oConn))
{
l_oDA.SelectCommand.CommandType = CommandType.StoredProcedure;
using (DataSet l_oDS = new DataSet())
{
l_oDA.Fill(l_oDS);
if (!l_oDS.HasErrors)
{
if (l_oDS.Tables[0].Rows.Count > 0)
{
lblDbVersion.Text = string.IsNullOrEmpty(l_oDS.Tables[0].Rows[0]["ReleaseInfo"].ToString()) ? "Release information not available" : l_oDS.Tables[0].Rows[0]["ReleaseInfo"].ToString();
}
}
}
}
}
catch (Exception ex)
{
tsslDbError.ForeColor = System.Drawing.Color.Red;
lblDbVersion.Text = "iReg Release Information Not Available";
tsslDbError.Text = "Unable to connect with iReg Database, Please contact iReg Suppot!";
btnBrowse.Enabled = false;
btnBackup.Enabled = false;
}
finally
{
if (m_oConn != null)
{
if (m_oConn.State == ConnectionState.Open)
m_oConn.Close();
m_oConn.Dispose();
}
}
if (gc.logger.IsInfoEnabled)
gc.logger.Info("getReleaseInfo - Method End");
}
從這裏我打電話給那個函數。
如果您使用的是.net 4.5,那麼您可以使用異步並等待來實現此目的。 –