Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# и базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Артур_1703_16
0 / 0 / 0
Регистрация: 24.05.2017
Сообщений: 4
#1

Ошибка при написании асинхронных запросов - C#

17.06.2017, 16:52. Просмотров 324. Ответов 3
Метки нет (Все метки)

Ошибка при попытке написать асинхронный запрос.
Код:
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
        private async void button1_Click(object sender, EventArgs e)
        {
            MySqlConnection conn = new MySqlConnection("Database = ; Data Source = ; User Id = ; Password = ;");
 
            try
            {
 
                MySqlCommand command = new MySqlCommand("SELECT * FROM resultats WHERE УИН = @УИН", conn);
                await conn.OpenAsync();
                command.Parameters.AddWithValue("@УИН", uin);
 
                MySqlDataReader sqlReader = null;
 
                sqlReader = await command.ExecuteReaderAsync(); // ошибка!                
 
                sqlReader.Close();
                
                conn.Close();
 
            }
            
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
 
        }
C#
1
//sqlReader = await command.ExecuteReaderAsync(); // ошибка!
Текст ошибки: Не удалось преобразовать тип "System.Data.Common.DbDateReader" в "MySql.Data.MySqlClient.MySqlDataReader" Существует явное преобразование (возможно, пропущено приведение типов).

Заранее спасибо
http://www.cyberforum.ru/ado-net/thread156931.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2017, 16:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибка при написании асинхронных запросов (C#):

Кодировка слов в базе и при написании в форме
Задача такая: У меня в базе два слова: русское и его перевод. В textbox3...

Фабрика асинхронных операций
Написал такой код: var taskQueue = new Queue<Task>(); ...

Отслеживание асинхронных операций
в цикле foreach запускается несколько сетевих запросов с колбеками при...

Синхронизация асинхронных методов
Добрый день! Подскажите какие есть методы синхронизации асинхронных...

Отключение асинхронных сокетов
Всем привет, пишу клиент-серверное приложение на c# через асинхронные сокеты и...

3
OwenGlendower
Супер-модератор
Эксперт .NET
8748 / 7752 / 3318
Регистрация: 17.03.2014
Сообщений: 15,252
Записей в блоге: 1
17.06.2017, 17:24 #2
Лучший ответ Сообщение было отмечено Артур_1703_16 как решение

Решение

Артур_1703_16, у класса MySqlCommand нет метода ExecuteReaderAsync. Он есть в базовом классе и метод возвращает Task<DbDataReader> - отсюда и ошибка. Измени тип переменной sqlReader на System.Data.Common.DbDateReader.
1
Артур_1703_16
0 / 0 / 0
Регистрация: 24.05.2017
Сообщений: 4
17.06.2017, 19:04  [ТС] #3
Большое спасибо, действительно заработало!
Что удивительно, здесь строка: sqlReader = await command.ExecuteReaderAsync(); работает..
https://www.youtube.com/watch?v=Vh6rn1CAgis (31:20)
0
OwenGlendower
Супер-модератор
Эксперт .NET
8748 / 7752 / 3318
Регистрация: 17.03.2014
Сообщений: 15,252
Записей в блоге: 1
17.06.2017, 21:54 #4
Артур_1703_16, ничего удивительного в этом нет. В уроке используется MS SQL, то есть класс SqlCommand где есть метод ExecuteReaderAsync
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2017, 21:54
Привет! Вот еще темы с решениями:

Синхронизация асинхронных событий в одном потоке
Добрый день! Работаю с веб сервисами. Столкнулся со следующей проблемой на...

Тормоза при выполнении запросов к БД Firebird
Добрый день! Прошу вашего совета: Есть форма C# на которой есть datagridview....

Несколько http запросов, при нажатии на кнопку
string MakeRequest(string url, string sCookies) { ...

Как запустить несколько асинхронных сокетов и принять данные от них?
Уважаемые форумчане помогите пожалуйста, есть пример получения html страницы:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru