你可以使用2“使用”之类的语句:你可以对sqlconnection和sqldatareader使用2个'using'语句吗?
using (SqlConnection ..)
{
using(SqlDataReader reader = new SqlDataReader())
{
}
}
我试图做到这一点摆上SqlDataReader中
你可以使用2“使用”之类的语句:你可以对sqlconnection和sqldatareader使用2个'using'语句吗?
using (SqlConnection ..)
{
using(SqlDataReader reader = new SqlDataReader())
{
}
}
我试图做到这一点摆上SqlDataReader中
SqlDataReader没有构造函数。通过调用SqlCommand对象的ExecuteReader
方法返回数据读取器。
例如
using (SqlConnection ..)
{
SqlCommand cmd = new SqlCommand(...);
using(SqlDataReader reader = cmd.ExecuteReader()))
{
}
}
仅供参考:SqlCommand是IDisposable,也应该在using语句中。 – dkackman 2010-04-12 17:03:12
你不能像上面提到的那样实例化一个SqlDataReader。一般来说,我看到使用块的2个级别,但内部将是命令对象,如下所示:
using (var conn = new SqlConnection(...))
{
conn.Open();
using (var cmd = new SqlCommand(...))
{
var rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
什么是错误?这应该很好。 – 2010-04-12 16:17:10
不要'认为SqlDataReader有一个构造函数...因此你不能使用新的 – deostroll 2010-04-12 16:21:18
是啊,构造函数是问题,谢谢! – Blankman 2010-04-12 16:38:12