powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как сделать несколько запросов при одном соединение
7 сообщений из 7, страница 1 из 1
Как сделать несколько запросов при одном соединение
    #34092843
AnWa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
MySqlDataReader reader = null;
String myConnectionString = "Database=...";
MySqlConnection myConnection = new MySqlConnection(myConnectionString);
string SelectQuery =  "SELECT * FROM table1"; 
MySqlCommand myCommand = new MySqlCommand(SelectQuery);
myCommand.Connection = myConnection;
myConnection.Open();
reader = myCommand.ExecuteReader();
myConnection.Close();
Так все работает! А вот так вознимает ошибка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
MySqlDataReader reader1 = null;
MySqlDataReader reader2 = null;
String myConnectionString = "Database=...";
MySqlConnection myConnection = new MySqlConnection(myConnectionString);
string SelectQuery1 =  "SELECT * FROM table1"; 
string SelectQuery2 =  "SELECT * FROM table2"; 
MySqlCommand myCommand1 = new MySqlCommand(SelectQuery1);
MySqlCommand myCommand2 = new MySqlCommand(SelectQuery2);
myCommand1.Connection = myConnection;
myCommand2.Connection = myConnection;
myConnection.Open();
reader1 = myCommand1.ExecuteReader();
reader2 = myCommand2.ExecuteReader();
myConnection.Close();
Connection must be valid and open
...
Рейтинг: 0 / 0
Как сделать несколько запросов при одном соединение
    #34093070
OLEGus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я полагаю, хотя и не уверен :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
myConnection.Open();
reader1 = myCommand1.ExecuteReader();
myConnection.Close();

myConnection.Open();
reader2 = myCommand2.ExecuteReader();
myConnection.Close();
...
Рейтинг: 0 / 0
Как сделать несколько запросов при одном соединение
    #34093089
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одно соединение, один ридер.

Он обычный сталевар.
Он делает жесть.
...
Рейтинг: 0 / 0
Как сделать несколько запросов при одном соединение
    #34093123
zz118
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плюс ко всему все равно используется одно соединение из пула, просто нужно на один ридер иметь один индекс к пулу.
...
Рейтинг: 0 / 0
Как сделать несколько запросов при одном соединение
    #34097080
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
myConnection.Open();
using(reader1 = myCommand1.ExecuteReader())
{
  // Делаем что-то с reader1
}
using(reader2 = myCommand2.ExecuteReader())
{
  // Делаем что-то с reader2
}
myConnection.Close();
--
WBR, Roman S. Golubin
...
Рейтинг: 0 / 0
Как сделать несколько запросов при одном соединение
    #34118017
NEKRASSOV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, может, и не в тему... Не забудьте закрывать ридер (rider.close) после его обработки. Иначе ридер "самовольно" может удерживать соединение, даже если выполнить connection.close. И еще. Как я понимаю - Вы работаете с БД MS SQL SERVER. Целесообразнее использовать хранимые процедуры. Это быстрее намного и безопаснее - никто Вам не сделает инжекцию через произвольный запрос. Кроме того, в одной хранимке Вы можете объединить несколько запросов типа селект. Тогда Вы обойдетесь всего одним ридером.
...
Рейтинг: 0 / 0
Как сделать несколько запросов при одном соединение
    #34120201
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
cmd.CommandText="select * from Table1;select * from Table2";
rdr=cmd.ExecuteReader();
do
{
	if(rdr.HasRows)
	{
		while(rdr.Read())
		{
...
		}
	}
}while(rdr.NextResult());
rdr.Close();
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как сделать несколько запросов при одном соединение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]