Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 09.05.2019
Сообщений: 110

Применение асинхронных методов к выводу на консоль двух таблиц

09.01.2020, 23:45. Показов 2201. Ответов 8

Студворк — интернет-сервис помощи студентам
Всем привет. Вот мне интересно: можно ли применить async и/или await к выводу на консоль двух таблиц (столбцов Name, например)? Я в этой теме не дальновидный и хромой, но, как я понимаю, применять асинхронные методы можно; если да, то как? Есть ли в природе какая-то полноценная статья по реализации такого замысла?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2020, 23:45
Ответы с готовыми решениями:

Синхронизация асинхронных методов
Добрый день! Подскажите какие есть методы синхронизации асинхронных операций? Например, метод socket.BeginSend(...) инициирует...

Очерёдное выполнение асинхронных методов
Появилась нужда (и не единожды) выполнять асинхронные функции по очереди, то есть не запускать все одновременно, а действовать...

Проблема асинхронных методов на IIS
Ребят, есть такая конструкция: Task.Run(() => { Upload(fuStatut,...

8
Эксперт .NET
 Аватар для Usaga
14138 / 9367 / 1350
Регистрация: 21.01.2016
Сообщений: 35,246
10.01.2020, 07:57
PavelIks, как связана асинхронность с выводом каких-то данных на консоль?
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
10.01.2020, 11:25
PavelIks, для начала нужно понять, что есть асинхронность. а потом уже решать, где есть смысл его вешать, а где нет. а так МОЖНО любую операцию делать асинхронной.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
10.01.2020, 11:29
Можно.
C#
1
await Console.Out.WriteLineAsync("асинхронненько");
0
0 / 0 / 0
Регистрация: 09.05.2019
Сообщений: 110
13.01.2020, 17:42  [ТС]
Usaga, AndreyVorobey, ну, есть статья «Aсинхронное программирование» из Metanit'а, в которой рассказывалось и показывалось, как найти факториал и квадрат, используя async и await. Но я так и не понял, можно ли применять эти самые асинхронные методы по отношению таблицам из БД.
Может так будет... чуть корректнее: во общем, моей целью является вывод по одному столбцу из двух разных таблиц. Так можно же? Сколько для этого нужно SqlConnection, SqlCommand, SqlDataReader? Нужен ли List? Применять ли асинхронные методы? Если да, то как?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
13.01.2020, 17:49
Цитата Сообщение от PavelIks Посмотреть сообщение
во общем, моей целью является вывод по одному столбцу из двух разных таблиц. Так можно же?
Никто же не запрещает получить два набора данных асинхронно

Добавлено через 1 минуту
Цитата Сообщение от PavelIks Посмотреть сообщение
Сколько для этого нужно SqlConnection, SqlCommand, SqlDataReader? Нужен ли List?
Цитата Сообщение от PavelIks Посмотреть сообщение
Применять ли асинхронные методы? Если да, то как?
но об этом же в учебниках написано
1
0 / 0 / 0
Регистрация: 09.05.2019
Сообщений: 110
13.01.2020, 17:54  [ТС]
Почтальон, оk. Но в каких? Мне бы они очень помогли.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
13.01.2020, 19:39
Как вариант - Литература по C# для начинающих и не только
либо, кратко и понятно - https://metanit.com/sharp/
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,882
Записей в блоге: 1
13.01.2020, 23:24
Цитата Сообщение от PavelIks Посмотреть сообщение
Но я так и не понял, можно ли применять эти самые асинхронные методы по отношению таблицам из БД.
Может так будет... чуть корректнее: во общем, моей целью является вывод по одному столбцу из двух разных таблиц. Так можно же? Сколько для этого нужно SqlConnection, SqlCommand, SqlDataReader? Нужен ли List? Применять ли асинхронные методы? Если да, то как?
Можно. Для получения данных, но не для вывода. Примерно так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
string connectionString = "...";
 
async Task<List<string>> GetData1()
{
    var results = new List<string>();
    using (var connection = new SqlConnection(connectionString))
    {
        await connection.OpenAsync();
        
        var command = new SqlCommand("SELECT SomeColumn FROM Table1", connection);
        using (var dataReader = await command.ExecuteReaderAsync())
        {
            while (await dataReader.ReadAsync())
            {
                results.Add(dataReader.GetString(0));
            }
        }
    }
    return results;
}
 
async Task<List<int>> GetData2()
{
    var results = new List<int>();
    using (var connection = new SqlConnection(connectionString))
    {
        await connection.OpenAsync();
 
        var command = new SqlCommand("SELECT SomeIntColumn FROM Table2", connection);
        using (var dataReader = await command.ExecuteReaderAsync())
        {
            while (await dataReader.ReadAsync())
            {
                results.Add(dataReader.GetInt32(0));
            }
        }
    }
    return results;
}
C#
1
2
3
4
5
6
7
var task1 = GetData1();
var task2 = GetData2();
await Task.WhenAll(task1, task2);
List<string> list1 = await task1;
List<int> list2 = await task2;
// Далее вывод уже без асинхронности
// ...
Добавлено через 1 минуту
Если у колонок однаковый тип, то можно написать один метод принимающай текст запрооса вместо GetData1, GetData2.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.01.2020, 23:24
Помогаю со студенческими работами здесь

Принцип работы асинхронных методов Socket
часто возникают не очень понятные ситуации при отладке программ, призванные передавать данные посредством класса Socket: чаще всего, когда...

Что в середине асинхронных методов Begin?
Разобрался как писать серверную часть на Сокетах с использованием асинхронных методов, а до этого писал многопоточный синхронный сервер, у...

Тонкости TCP сервера приложений (преимущества и недостатки синхронных и асинхронных методов)
Есть ли преимущество у метода BeginAcceptTcpClient() перед синхронным AcceptTcpClient если его можно легко превратить в неблокирующий: ...

Применение методов экземпляра
Пользователь вводит случайные цифры a(i), i=1,N. Программа рассчитывает сумму квадратов минимального,максимального элементов и среднего...

Применение численных методов
Доброе время суток, программисты :) Прошу помощи решить некоторые проблемы. Есть задание по ИТ, звучит оно следующим образом...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru