Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
4 / 4 / 1
Регистрация: 22.08.2013
Сообщений: 49
1

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

05.01.2014, 00:58. Показов 455. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
И так здравствуйте, у меня есть вопрос, как лучше реализовать работу со связанными данными, т.е у нас есть основная структура и более 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 ]);
    }
}
Как можно было бы оптимизировать загрузку и сократить тонну "шаблонного кода" ?
Заранее спасибо, с ув. Дмитрий.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2014, 00:58
Ответы с готовыми решениями:

Как лучше оптимизировать работу с данными БД
Здравствуйте. У меня в приложении есть функция работы с адресами из Кладр. Выглядит это как на...

Как лучше организовать работу Access с данными из разных файлов Excel
Задача в следующем. В базе Access есть список путей до типовых файлов Excel, откуда нужно взять...

Двунаправленный список - реализовать работу с данными о ПК
Помогите привести код в нормальный вид. Не работает из-за ошибок. Так-же не откажусь от любой...

Имеется файл конфигурации и куча баз данных в формате .DBF. Не подскажите, как обеспечить работу с данными в 1С?
Есть проблема. Имеется файл конфигурации и куча баз данных в формате .DBF. Я не 1С-шник, в этой...

0
05.01.2014, 00:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2014, 00:58
Помогаю со студенческими работами здесь

Как лучше организовать хранение данных (возможно, что не понимаю работу с ресурсами)?
Здравствуйте. Есть около 60 терминов. Каждый термин характеризуется двумя параметрами: -...

Подскажите как лучше реализовать базу данных
Всем привет! Прошу помощи в создании базы данных. Точнее подсказок и лучшего решения от людей...

Как лучше реализовать отображение базы данных
На курсовую хотел бы сделать базу данных по рассчету каллорий, понравлась эта программа...

Таблица со связанными данными
Помогите пожалуйста. Не могу найти в интернете как решить свою проблему. Должен сделать Таблица...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru