Форум программистов, компьютерный форум CyberForum.ru

Загрузка данных из БД. Как лучше реализовать работу со связанными данными - C++

Восстановить пароль Регистрация
 
sentike
4 / 4 / 0
Регистрация: 22.08.2013
Сообщений: 49
05.01.2014, 00:58     Загрузка данных из БД. Как лучше реализовать работу со связанными данными #1
И так здравствуйте, у меня есть вопрос, как лучше реализовать работу со связанными данными, т.е у нас есть основная структура и более 10 дочерних.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
struct sProperty
{
int db;
int type;
int property
} 
 
struct sHouse
{
int db;
int style;
}
 
struct sBank
{
int db;
int style;
int perOne;
//.............
}
На данный момент происходит загрузка данных таким образом:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void cBanks::load()
{
    safe_query(con, "SELECT class_Property.*, class_Banks.*, getOwnerName(class_Property.owner) as pname FROM class_Property, class_Banks  WHERE class_Property.property = class_Banks.db AND class_Property.type = 2");
    while (( row = mysql_fetch_row(result) ))
    {
//------------ шаблонный код--------
        Property[ countProperty ].db = atoi(row[ 0 ]);
        Property[ countProperty ].type = atoi(row[ 1 ]);
        Property[ countProperty ].property = atoi(row[ 2 ]);
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Bank[ countBanks ].db = atoi(row[ 3 ]);
        Bank[ countBanks ].style= atoi(row[ 4 ]);
        Bank[ countBanks ].perOne= atof(row[ 5 ]);
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void cHouse::load()
{
    safe_query(con, "SELECT class_Property.*, class_Houses.*, getOwnerName(class_Property.owner) as pname FROM class_Property, class_Houses  WHERE class_Property.property = class_Houses.db AND class_Property.type = 2");
    while (( row = mysql_fetch_row(result) ))
    {
//------------ шаблонный код--------
        Property[ countProperty ].db = atoi(row[ 0 ]);
        Property[ countProperty ].type = atoi(row[ 1 ]);
        Property[ countProperty ].property = atoi(row[ 2 ]);
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        House[ countHouse ].db = atoi(row[ 3 ]);
        House[ countHouse ].style = atoi(row[ 4 ]);
    }
}
Как можно было бы оптимизировать загрузку и сократить тонну "шаблонного кода" ?
Заранее спасибо, с ув. Дмитрий.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 00:58     Загрузка данных из БД. Как лучше реализовать работу со связанными данными
Посмотрите здесь:

C++ как реализовать работу со списком строк и списком цифр в классе List ?
ООП. Как лучше реализовать? C++
C++ как в одной форма (CRecordView) работать с 2-мя связанными таблицами
C++ Как лучше реализовать прозрачность окна?
C++ Как лучше реализовать кнопку?
C++ Как лучше реализовать структуру класса?
Класс "Время", как реализовать работу со временем? C++
C++ Как реализовать ввод данных в матрицу?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru