public override void CloseConnection()
{
if (connection != null)
{
while (connection.State == System.Data.ConnectionState.Executing || connection.State == System.Data.ConnectionState.Fetching);
if (connection.State != System.Data.ConnectionState.Closed)
{
connection.Close();
connection = null;
}
}
}