|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.05.2012, 12:36 | #1 |
Форумчанин
Регистрация: 05.06.2010
Сообщений: 154
|
Интересное дело
суть вот в чем:
есть таблица бд Материалы (id,название,флаг класс, модуль, подкласс) Объяснения: в таблице хранятся как классы материала, так и сами материалы. поле подкласс - числовое поле, равное id материала, чтобы определить родительский класс у класса или материала. Для примера: Класс асфальтобетон делится на классы: горячий, холодный и т.д. так же в них записываются и материалы. Все отлично работает (необходим вывод в treeview в заданной иерархии). Передо мной стала задача заполнить данный справочник (таблицу). Имеется файл эксель с этими самыми материалами вида уровень вложенности, название, код где уровень вложенности соответствует иерархии (чтобы понять что к чему относится). Для примера уровень название код 1 Класс Материалы 0 2 Класс1 0 3 Материал 1788 12 2 Класс2 0 , что свидетельствует о том, что Класс 1 и Класс 2 являются дочерними для класса Класс материалы, а материал 1788 присутствует в классе Класс1. Код 0 означает, что это класс материалов И все было бы красиво и гладко, если бы уровни не прыгали вот так: 1 2 3 1 2 2 2 3 3 4 5 6 6 2 2 1 и не повторялись названия классов и материалов. Как в данном случае автоматом загрузить справочник в таблицу бд? |
16.05.2012, 12:56 | #2 |
Форумчанин
Регистрация: 05.06.2010
Сообщений: 154
|
как это реализовал я:
добавил в экселе в столбца: номер записи и родитель, добавил в таблицу бд временное поле Номер пронумеровал все записи по-порядку -номер записи и в родителя проставил номера записей (в соответствие с иерархией) иду по всем ячейкам. при записи в базу проверяю номер родителя и достаю из базы id материала по этому номеру для того чтобы в таблицу бд в поле Подкласс записать id нужного родительского класса. Вроде все гладко и хорошо. Но. Я не могу на 100% заявить, что алгоритм работает правильно, т.к. записей очень-очень много. Как вы считаете в чем могут быть проблемы? Единственное, что я вижу это неправильно проставленные в экселе номера родителей? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
интересное условие (си) | dukales | Помощь студентам | 4 | 01.09.2011 00:18 |
Интересное предложение !!!! | Stolline | Фриланс | 0 | 20.04.2011 11:43 |
Интересное в сети | Revival001 | Свободное общение | 12 | 21.11.2010 11:44 |
Интересное задание | MaTpOc12 | Помощь студентам | 3 | 20.10.2010 18:10 |
интересное явление... | involved | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 07.08.2010 17:55 |