封装的时候如果用using{}将连接及执行等过程括起来,这样可以保证最后关闭连接,但是调用时却会出错。
这个时候应该去掉using引用,但在使用SqlDataReader对象后,应该手动关闭连接。
public SqlDataReader connToRead(string sql){
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
return sdr;
}
这样调用就OK了!