我有一個WinForm,它在服務器上使用.Net Remoting調用方法。 該方法正在查詢數據庫。迄今爲止很直截了當。問題是,如果我在執行此方法時關閉窗體,會引發異常抱怨說它期望SqlParameter
重新打開窗體。我不希望表單重新打開。如果發生異常,Winform重新啓動
我不想簡單地壓制拋出的任何SqlException
,因爲我想在拋出異常時收到通知。
有沒有簡單的解決方法呢?
StringBuilder sb = new StringBuilder();
sb.Append("SELECT COUNT(*) FROM ")
.Append(table)
.Append(" WHERE ")
.Append(fieldName)
.Append(" = @Value AND SoftDelete = 0");
SqlCommand cmd = this.m_SqlDBConnPool.GetSqlCommand(sb.ToString());
int count = -1;
lock (cmd)
{
cmd.Parameters.Clear();
cmd.Parameters.Add(new SqlParameter("Value", value));
this.m_SqlDBConnPool.ExecQuery(cmd, new SqlDBConnPool.DataReader<object>(
delegate(SqlDataReader reader, object o)
{
count = reader.GetInt32(0);
return true;
}), null);
}
請注意SqlDBConnPool
是我們寫的一類。
請出示一些代碼,調用存儲過程的參數,以及方式。 –
我粘貼了代碼 – Jonny
爲什麼在這個世界上你會認爲你需要鎖定一個局部變量? –