У меня есть однопоточное приложение, которое должно вызывать саб несколько раз, передавая каждый раз разные аргументы. Единственная проблема заключается в том, что подпрограмма открывает читатель данных и читает данные из базы данных (используя переданный аргумент). Это работает нормально, но операция чтения занимает несколько секунд, поэтому при втором вызове подпрограммы выдается ошибка «с этим соединением уже есть открытый считыватель данных».
Не перепроектировав все мое приложение, я что-то упускаю, когда мне нужно что-то сделать с устройством чтения данных, чтобы несколько одновременных чтений происходили?
Спасибо.
Например:
For x as integer = 0 to 10
dim id as integer = my_sub(x)
Next X
Private function my_sub(x)
dim return_value as integer = 0
my_reader = sqldatareader
db.cmd.CommandText = "select id from database where id = " & x
my_reader = db.cmd.ExecuteReader
my_reader.Read()
If my_reader.HasRows Then
return_value = my_reader(0)
End If
my_reader.Close()
Return return_value
End Sub