С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Высвобождения ресурсов БД (PostgreSQL) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Все четные элементы, стоящие левее минимального, уменьшить в 2 раза http://www.cyberforum.ru/cpp-beginners/thread957912.html
Здравствуйте, написала код к задаче "В массиве все четные элементы, стоящие левее минимального, уменьшить в 2 раза. Пример: из массива A: 3 2 1 0 4 должен получиться массив 3 1 1 0 4.", но код не...
C++ Проверка ввода данных в C++ /* Программа сложения */ #include <math.h>/* подключение математической библиотеки */ #include <stdio.h>/*подсоединение раздела библиотеки с функциями ввода/вывода */ #include <conio.h>/*... http://www.cyberforum.ru/cpp-beginners/thread957903.html
C++ Расшифруйте пожалуйста предикат
Существует класс Person class Person { string Family, Name, Sex; int BirthDay,ExpTime; public: Person( char* f, char* n, int b, char* s, int e): Family(f), Name(n), BirthDay(b),...
Парабола C++
Найти координаты вершины параболы. y=ax^2+bx+c Язык: С++
C++ вывод гласных букв http://www.cyberforum.ru/cpp-beginners/thread957894.html
Пишешь слово, он должен вывести только гласные буквы. Например, hello должен вывести e o #include <iostream> #define N 80 using namespace std; char str; int mystrlen(char* str){ int i =...
C++ программа которая выводит на экран словесную форму числа Написать программу, которая выводит на экран словесную форму числа. Например: 25="двадцать пять". подробнее

Показать сообщение отдельно
kiruhin
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 6

Высвобождения ресурсов БД (PostgreSQL) - C++

19.09.2013, 17:07. Просмотров 253. Ответов 1
Метки (Все метки)

Добрый день.
Вопрос, конечно, из разряда "для начинающих", так что сильно не бейте Есть некая функция, которая работает с базой данных (PostgreSQL). Есть небольшой момент по поводу высвобождения ресурса после окончания работы функции. Как лучше сделать из двух нижеприведенных вариантов?

Вариант 1:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
int some_func {
    sprintf(sql_query, "SELECT * FROM forum");
    sql_query_result = PQexec(conn, sql_query);
    PQclear(sql_query_result);
    ...........
    ...........
    sprintf(sql_query, "SELECT * FROM news");
    sql_query_result = PQexec(conn, sql_query);
    PQclear(sql_query_result);
    ...........
    ...........
    return 0;
}
Вариант 2:
C
1
2
3
4
5
6
7
8
9
10
11
12
int some_func {
    sprintf(sql_query, "SELECT * FROM forum");
    sql_query_result = PQexec(conn, sql_query);
    ...........
    ...........
    sprintf(sql_query, "SELECT * FROM news");
    sql_query_result = PQexec(conn, sql_query);
    ...........
    ...........
    PQclear(sql_query_result);
    return 0;
}
Т.е. лучше вызывать PQclear() после КАЖДОГО запроса к БД (вариант 1) или достаточно вызвать PQclear() в самом конце функции (вариант 2)? Естественно, преследуется цель избежать утечки памяти.
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.