| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > Odbc MySQL |
| Автор: MAK 14.6.2006, 23:26 |
| Столкнулся с такой ситуацией: есть класс, реализующий работу с бд. необходимо сделать две выборки подрят, т.е. сначала запускаем процедуру выборки одних данных, затем других. К сожалению, столкнулся с ситуацией, что эти запросы выполняются одновременно, соответственно результат не корректрый. Как ставить запросы "в очередь" либо просто запретить выполнение запроса, если другой запущен? |
| Автор: arilou 15.6.2006, 10:17 |
| MAK, во-первых, есть managed provider для MySql, называется MySql Connector .NET (на сайте MySql). А во-вторых, |
| Автор: MAK 15.6.2006, 11:41 | ||
| Вроде разобрался... Надо было использовать транзакцию и настроить запрет использования параллельных запросов... А код таков (абстрактно):
Так вот, "одновременно" - это когда на 17 строке извлекаются данные, поторые отновятся ко 2му запросу (т.е. получается, что как-будто вместо 13 строки стоит 25) |
| Автор: arilou 15.6.2006, 14:50 |
В любом случае, вместо ODBC будет намного лучше и быстрее использовать MySql Connector .NET |
| Автор: MAK 15.6.2006, 18:09 |
| Если не считать, что с кодировкой проблемы... Да и как-то не заменил я особого быстродействия |
| Автор: arilou 16.6.2006, 13:28 |
Каюсь, это было голословное устверждение. Наверное, офицальный провайдер внутри все равно работает через ODBC. Можно попробовать других провайдеров (правда, не знаю, есть ли другие бесплатные), которые используют нативный интерфейс. http://www.google.com/search?hl=en&lr=&q=MySQL%20.NET%20Provider |
| Автор: MAK 16.6.2006, 16:30 |
| Да, использование "натива" было бы здорово (для с++ использую - очень доволен |
| Автор: ZAK 3.6.2010, 09:21 |
| Э-э-э... Прошу прощения... Объясните, пожалуйста, откуда возьмётся параллельность? |