我有时间比我可以做查询时使用块切记不要使用,但是我现在有一个问题带有锁定表和它看起来像查询不处置properley。using语句SQL命令
但是我需要重新写下面的代码到一个使用块。
sql = conn.CreateCommand();
sql.CommandText = query;
sql.Parameters.Add("@p_DateFrom", SqlDbType.VarChar).Value = datefrom.ToString("yyyy-MM-dd");
sql.CommandType = CommandType.Text;
int rowCount = (Int32)sql.ExecuteScalar();
sql.Parameters.Clear();
sql.Dispose();
return rowCount;
我将如何去重写这个。我就必须做到以下几点:
int rowCount = 0;
using (sql = conn.CreateCommand())
{
sql.CommandText = query;
sql.Parameters.Add("@p_DateFrom", SqlDbType.VarChar).Value = datefrom.ToString("yyyy-MM-dd");
sql.CommandType = CommandType.Text;
rowCount = (Int32)sql.ExecuteScalar();
}
return rowCount;
你为什么不试试看看会发生什么?那么如果你有问题,你可以回来问问! – Nick 2012-04-25 10:05:21
锁定表并没有真正得到很多事要做'using'陈述,特别是因为你正在使用'ExecuteScalar' – 2012-04-25 10:10:06
处置命令或连接有*不*做[表锁](HTTP://博客。 msdn.com/b/joesack/archive/2009/05/22/troubleshooting-table-locks.aspx)。 – 2012-04-25 10:11:43