เมื่อใช้ SqlDataReader เพื่อดำเนินการฐานข้อมูลระหว่างการเขียนโค้ด คุณจะเรียกเมธอดด้วยตนเองหรือเขียนโค้ดเพื่อปิดการเชื่อมต่อฐานข้อมูลทุกครั้งหลังจากเรียกเมธอดฐานข้อมูลของคุณ (ฮ่าๆ เคยทำเพื่อความสนุกนะ)
วิธีการต่อไปนี้สามารถแก้ปัญหานี้ได้ พารามิเตอร์ CommandBehavior.CloseConnection ของ cmd.ExecuteReader จะช่วยคุณปิด conn
สาธารณะคงที่ SqlDataReader ExecuteReader ที่เกี่ยวข้องโดยอัตโนมัติ (การเชื่อมต่อสตริงสตริง, CommandType cmdType, สตริง cmdText, params SqlParameter[] commandParameters)
{
cmd
= new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
{
PreparationCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
// การเพิ่มพารามิเตอร์ CommandBehavior.CloseConnection ไปยัง cmd.ExecuteReader จะปิด conn ที่เกี่ยวข้องโดยอัตโนมัติหลังจาก cmd.ExecuteReader ถูกดำเนินการ
SqlDataReader rdr = cmd.ExecuteReader (CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
กลับ
rdr;
}
{
conn.Close()
;
โยน
;