Tôi nhận thấy rằng bạn mở các kết nối, nhưng bạn không đóng chúng khi bạn hoàn thành chúng. Tôi thích cách tiếp cận mở các kết nối khi chúng cần thiết, hơn là có thể mở chúng nếu chúng chưa mở. Chúng có thể đã cũ.
Lưu vào bộ nhớ cache của chuỗi kết nối nhưng không phải bản thân kết nối.
public static string ConnectionString {get;set;}
public static bool InsertRecord(sql)
{
bool success = false;
using (var con = new Connection(ConnectionString)){
var command = new SqlCommand(sql,con);
success = (command.ExecuteNonQuery() > 0);
}
return success;
}
Tài nguyên nên được giải phóng khi chúng không còn được yêu cầu nữa.