Удалить именованное соединение

Синтаксические правила
void QSqlDatabase::removeDatabase(< имя соединения >)
< имя соединения >::= символьный литерал или символьная переменная 
Описание

Удаляет объект-соединение с заданным < именем соединения > из списка декларированных соединений.

В момент вызова данной функции соединение не должно содержать обрабатываемых SQL-запросов, в противном случае возможна потеря выделенных для обработки запроса ресурсов.

Возвращаемое значение

Нет.

Пример
// Неправильный код
QSqlDatabase db = QSqlDatabase::addDatabase( "QLINTER", "connection_name");
if( !db.open("SYSTEM", "MANAGER8") )
{
  cout < <  db.lastError().driverText().toLocal8Bit().data() < <  endl;
  return 1;
}
QSqlQuery query("SELECT count(*) FROM AUTO", db);
QSqlDatabase::removeDatabase("connection_name");
// будет выдано предупреждение
// "db" теперь ссылается на несуществующее соединение,
// "query" содержит неправильные данные

// Правильный код:
{
  QSqlDatabase db = QSqlDatabase::addDatabase( "QLINTER", "connection_name");
  if( !db.open("SYSTEM", "MANAGER8") )
  {
    cout < <  db.lastError().driverText().toLocal8Bit().data() < <  endl;
    return 1;
  }
  QSqlQuery query("SELECT count(*) FROM AUTO", db);
}
// Объекты "db" и "query" уничтожены, потому что они больше не нужны
QSqlDatabase::removeDatabase("connection_name");
// правильная операция

См. также: database().