У меня есть WinForm, который вызывает метод, используя .Net Remoting, на сервере.Метод запрашивает базу данных.Довольно прямо вперед.Проблема заключается в том, что если я закрываю форму во время выполнения этого метода, генерируется исключение, жаловавшееся на то, что он ожидает SqlParameter
, который снова открывает форму.Я не хочу повторного открытия формы.
Я не хочу просто подавлять любые выброшенные 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
- это класс, который мы написали.