|
16.11.2011, 14:31
|
#16
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Тогда для класса(типа/структуры) таблицы сделать коллекцию определений столбцов с их именами и типами.
|
(Offline)
|
|
16.11.2011, 14:35
|
#17
|
Нуждающийся
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Насчет "коллекции определений" можно поподробнее?
__________________
Мозги... у них есть метод "Storm"
|
(Offline)
|
|
16.11.2011, 14:41
|
#18
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Ну вот пример, как работать с таблицами в Net Framework:
DataTable dt = LoadDataTable("SomeTableName"); foreach(var column in dt.Columns ) { Console.WriteLine("Name = " +сolumn.Name + ", Type" = сolumn.DataType.ToString()); }
DataColumn id = dt.Columns["id"]; foreach(var row in dt.Rows) { Console.WriteLine("id = " +row[id].ToString()); }
Вероятно я в именах классов ошибся, но как-то так.
|
(Offline)
|
|
16.11.2011, 14:47
|
#19
|
Нуждающийся
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Сообщение от pax
Ну вот пример, как работать с таблицами в Net Framework:
DataTable dt = LoadDataTable("SomeTableName"); foreach(var column in dt.Columns ) { Console.WriteLine("Name = " +сolumn.Name + ", Type" = сolumn.DataType.ToString()); } DataColumn id = dt.Columns["id"]; foreach(var row in dt.Rows) { Console.WriteLine("id = " +row[id].ToString()); }
Вероятно я в именах классов ошибся, но как-то так.
|
Интересно, а откуда у нас взялся SomeTableName ?
__________________
Мозги... у них есть метод "Storm"
|
(Offline)
|
|
16.11.2011, 14:53
|
#20
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Это имя твоей таблицы, которую ты загружаешь с помощью функции LoadDataTable. Эти два названия абстрактны.
Подробно тут: http://msdn.microsoft.com/ru-ru/libr...(v=vs.90).aspx
|
(Offline)
|
|
16.11.2011, 14:57
|
#21
|
Нуждающийся
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Вы мне предлагаете каким то "Орбузом" прикрутить .Net к BlitzMax ? =)
__________________
Мозги... у них есть метод "Storm"
|
(Offline)
|
|
16.11.2011, 14:58
|
#22
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Нет, реализовать подобный механизм.
|
(Offline)
|
|
16.11.2011, 15:02
|
#23
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Вот еще вариант:
По схеме базы данных сгенерировать классы/типы для таблиц. При обновлении базы - перегенерировать.
|
(Offline)
|
|
18.11.2011, 07:54
|
#24
|
Нуждающийся
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: [Вопрос] Оптимизация поиска в листе
Как можно перегенерировать уже созданный класс ? =)
Это уже блин из разряда полиморфности, но идея хорошая, только вот незнаю как из под исполняемого кода менять собственный же код =)
Вот какая идея возникла, подскажите, это быдло-решение или нет?
Таблиц дофига, но есть кое где одинаковые колонки.
Создать глобальный тип из 50 полей, каждая таблица (а следственно и строки в ней) будет использовать только 5-10 из них, остальные будут NULL
На каждую таблицу отдельный Лист со "строками" данного глобального типа, что скажите?
При появлении нового вида таблиц, просто добавлять поле в глобальный тип. И создавать новай лист для данной таблицы
__________________
Мозги... у них есть метод "Storm"
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:21.
|