Исключение в использовании ExecuteScalar

Я хочу получить человека из базы данных на С# с помощью ADO.net.

Я использую эту команду:

System.Data.Common.DbCommand command = DatabaseManager.Database.GetStoredProcCommand(proc_name, firstName);

а потом

object personID = DatabaseManager.Database.ExecuteScalar(command);

Когда я нажимаю кнопку, эти команды вызываются два раза.

В первый раз все ок. Но во второй раз я получаю TimeOutException:

Время ожидания истекло. Время ожидания истекло до завершения операции или сервер не отвечает.

Я использовал command.Disposed(); и command.Connection.Close();. Но это не решает мою проблему.

Пожалуйста, помогите мне, как я могу решить эту проблему.


person Tavousi    schedule 07.08.2012    source источник


Ответы (1)


Кажется, что какая-то транзакция остается открытой во время вашего первого выполнения процедуры. Это может быть либо ошибка в вашей процедуре, либо неправильное управление соединением в вашем приложении.

person Fedor Hajdu    schedule 07.08.2012