forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   FAQ и уроки (http://forum.boolean.name/forumdisplay.php?f=110)
-   -   [Вопрос] Оптимизация поиска в листе (http://forum.boolean.name/showthread.php?t=15555)

pax 16.11.2011 14:31

Ответ: [Вопрос] Оптимизация поиска в листе
 
Тогда для класса(типа/структуры) таблицы сделать коллекцию определений столбцов с их именами и типами.

Greymem 16.11.2011 14:35

Ответ: [Вопрос] Оптимизация поиска в листе
 
Насчет "коллекции определений" можно поподробнее?

pax 16.11.2011 14:41

Ответ: [Вопрос] Оптимизация поиска в листе
 
Ну вот пример, как работать с таблицами в Net Framework:

PHP код:

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());


Вероятно я в именах классов ошибся, но как-то так.

Greymem 16.11.2011 14:47

Ответ: [Вопрос] Оптимизация поиска в листе
 
Цитата:

Сообщение от pax (Сообщение 209925)
Ну вот пример, как работать с таблицами в Net Framework:

PHP код:

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 ?

pax 16.11.2011 14:53

Ответ: [Вопрос] Оптимизация поиска в листе
 
Это имя твоей таблицы, которую ты загружаешь с помощью функции LoadDataTable. Эти два названия абстрактны.

Подробно тут: http://msdn.microsoft.com/ru-ru/libr...(v=vs.90).aspx

Greymem 16.11.2011 14:57

Ответ: [Вопрос] Оптимизация поиска в листе
 
Вы мне предлагаете каким то "Орбузом" прикрутить .Net к BlitzMax ? =)

pax 16.11.2011 14:58

Ответ: [Вопрос] Оптимизация поиска в листе
 
Нет, реализовать подобный механизм.

pax 16.11.2011 15:02

Ответ: [Вопрос] Оптимизация поиска в листе
 
Вот еще вариант:
По схеме базы данных сгенерировать классы/типы для таблиц. При обновлении базы - перегенерировать.

Greymem 18.11.2011 07:54

Ответ: [Вопрос] Оптимизация поиска в листе
 
Как можно перегенерировать уже созданный класс ? =)

Это уже блин из разряда полиморфности, но идея хорошая, только вот незнаю как из под исполняемого кода менять собственный же код =)


Вот какая идея возникла, подскажите, это быдло-решение или нет?
Таблиц дофига, но есть кое где одинаковые колонки.
Создать глобальный тип из 50 полей, каждая таблица (а следственно и строки в ней) будет использовать только 5-10 из них, остальные будут NULL
На каждую таблицу отдельный Лист со "строками" данного глобального типа, что скажите?

При появлении нового вида таблиц, просто добавлять поле в глобальный тип. И создавать новай лист для данной таблицы


Часовой пояс GMT +4, время: 13:29.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot