Текущее состояние подключения: подключение

Я пишу веб-приложение на С#, а база данных - MSSQL Express 2012.

Когда я использую SqlDataAdapter, я получаю сообщение об ошибке:

ExecuteReader требует открытого и доступного подключения.

Текущее состояние соединения — соединение.

SqlDataAdapter da = new SqlDataAdapter(sql, sqlConn);
da.Fill(dt);

Я не могу понять, как это исправить. спасибо


person maxileft    schedule 22.11.2014    source источник
comment
Что это за язык?   -  person trojanfoe    schedule 22.11.2014
comment
Язык C#, идентификатор базы данных MSSQL Express 2012.   -  person maxileft    schedule 22.11.2014
comment
Затем добавьте эти теги к своему вопросу.   -  person trojanfoe    schedule 22.11.2014
comment
Вы используете OpenAsync для открытия соединения? В этом случае вам следует дождаться завершения задачи, представляющей открытую операцию, прежде чем пытаться использовать соединение.   -  person Joe    schedule 22.11.2014
comment
Не могли бы вы показать код, где вы открываете SQL-соединение (без ConnectionString)   -  person Tomtom    schedule 24.11.2014


Ответы (1)


Попробуй это :

lock(conn)
{
    DataTable dt = new DataTable();
    using (SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand))
    {
        sqlDataAdapter.Fill(dt);
    }
}
person Rahul Sharma    schedule 22.11.2014
comment
если нет, почему бы вам не отладить свое приложение и не проверить, где вы получаете ошибку. - person Rahul Sharma; 24.11.2014