• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;


Иллюстрированный самоучитель по Architecture .NET

Коллекции объектов DataSet (Набор данных)

При помещении данных в объект DataSet (Набор данных) считываются также и связанные с этими данными таблицы и столбцы. Каждый набор данных имеет коллекции, представляющие все таблицы, столбцы и строки, связанные с данными, содержащимися в этом наборе.

Класс HotelBroker (Посредник, бронирующий места в гостинице) из используемого нами в качестве примера приложения содержит метод ListHotelsToFile, в котором продемонстрировано, как получить такую информацию и записать ее в файл Hotels.txt. Этот метод вызывается при нажатии кнопки на форме, описанной в файле MainAdmin-Form.cs. Вывод данных осуществляется перенаправлением вывода на консоль. HotelDAtaset – набор данных, содержащий данные из базы данных HotelBroker (Посредник, бронирующий места в гостинице). Приведем фрагмент файла HotelBroker.h.

TextWriter *tw = new StreamWriter("Hotels.txt");
Console::SetOut(tw); // печатающее устройство –
// переадресовать вывод
try
{
Console::WriteLine("Hotels"); // Гостиницы
DataTable *t =
hotelsDataset › Tables › get_Item(// Таблицы
"Hotels"); // Гостиницы
if (t == 0) // если (t == 0)
return;
lEnumerator *pEnum = t › Columns › GetEnumerator(); // Столбцы
while (pEnum › MoveNext())
{
DataColumn *c =
dynamic_cast<DataColumn *>(pEnum › Current);
Console::Write("{0, -20}", c › ColumnName);
}
Console::WriteLine("");
pEnum = t › Rows › GetEnumerator();
while (pEnum › MoveNext())
{
DataRow *r =
dynamic_cast<DataRow *> (pEnum › Current);
for (int i=0; i<t › Colunms › Count; i++) // Столбцы › Счет
{
Type *type = r › get_Item(i) › GetType();
if (type › FullName › Equals("System::Int32"))
// если равняется ("Система:: Int32"))
Console::Write("{0, -20}", r › get_Item(i));
else
{
String *s = r › get_Item(i) › ToString(); // Строка
s = s › Trim(); // Вырезка
Console::Write("{0, -20}", s);
}
}
Console::WriteLine("");
}
Console::WriteLine("");
}
catch(Exception *e) // Исключение
{
throw e;
}
_finally // наконец
{
tw › Close ();
}

Коллекция Tables (Таблицы) – это коллекция всех экземпляров DataTable (Таблица данных), содержащихся в объекте DataSet (Набор данных). В нашем примере такой экземпляр один, так что нет необходимости перемещаться по коллекции. Поэтому программа просто проходит по столбцам таблицы, воспринимая их содержимое как заголовки для данных, которые будут распечатаны далее. После считывания заголовков просматривается содержимое каждой строки таблицы.

Для каждого из значений в строке программа выясняет тип значения и печатает его в соответствующем формате. В нашем случае программа проверяет, какой тип имеет рассматриваемое поле базы данных Hotel (Гостиница). Проверка типа значения поля, а не просто вывод на печать как Object (Объект), позволяет вывести данные в соответствующем формате.

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.