我有一个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
是我们写的课程。
答案 0 :(得分:0)
尝试在代码周围加上以下内容......
try
{
//Your code
}
catch(Exception ex)
{
//Close the form by your self
//Send back the error
}