I am not entirely sure what you mean by database session control. If you are asking how to maintain your database connections so that you don't need to open/close them with every request, I'd recomment writing a database connection pool for your specific database access components. The pool should open a new connection when you need one and keep unused connections active for later use.
You can find an example of a database connection pool implementation (this one is for Firebird using IB*Objects) here:
Database connection poolingBest Regards,
Danijel Tkalcec