我有一个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
为什么在这个世界上你会认为你需要锁定一个局部变量? –