你可以使用2'使用'语句,如:
using (SqlConnection ..)
{
using(SqlDataReader reader = new SqlDataReader())
{
}
}
我正在尝试这样做,在SqlDataReader
的构造函数上出现错误答案 0 :(得分:6)
SqlDataReader没有构造函数。通过调用SqlCommand对象的ExecuteReader
方法返回一个datareader。
e.g。
using (SqlConnection ..)
{
SqlCommand cmd = new SqlCommand(...);
using(SqlDataReader reader = cmd.ExecuteReader()))
{
}
}
答案 1 :(得分:1)
你可以,你也可以格式化它们,而不需要像这样的额外括号:
using (SqlConnection ..)
using(SqlDataReader reader = new SqlDataReader())
{
}
我一直在做限制范围嵌套的数量。
答案 2 :(得分:0)
您无法像上面提到的那样实例化SqlDataReader。一般来说,我看到2个级别的使用块,但内部的是命令对象,如下所示:
using (var conn = new SqlConnection(...))
{
conn.Open();
using (var cmd = new SqlCommand(...))
{
var rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}