>데이터 베이스 >MySQL 튜토리얼 >`ExecuteNonQuery()`가 \'이미 열려 있는 DataReader...\'를 발생시키는 이유는 무엇입니까?

`ExecuteNonQuery()`가 \'이미 열려 있는 DataReader...\'를 발생시키는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-02 06:06:11296검색

Why Does `ExecuteNonQuery()` Throw

연결 실행 중 DataReader 열기

Visual Studio 2010/.Net 4.0 및 MySQL 프로젝트를 사용하는 동안 개발자에게 " 이 연결과 연결되어 닫혀야 하는 열려 있는 DataReader가 이미 있습니다. 먼저."

문제의 코드는 데이터 리더가 열려 있는 동안 다른 SQL 문을 실행하려고 시도합니다. 특히 cmdInserttblProductFrance.ExecuteNonQuery(); 줄에서 예외가 발생합니다.

이 문제는 데이터 판독기와 ExecuteNonQuery 명령 모두에 연결이 사용되기 때문에 발생합니다. MSDN에 따르면 이러한 사용은 지원되지 않습니다.

"DataReader가 열려 있는 동안 연결은 해당 DataReader에서만 사용됩니다. 다른 DataReader 생성을 포함하여 연결에 대한 어떤 명령도 실행할 수 없습니다. 원본 DataReader가 닫혀 있습니다."

이 문제를 해결하려면 추가 SQL 문을 실행하기 전에 데이터 리더를 닫으세요.

위 내용은 `ExecuteNonQuery()`가 \'이미 열려 있는 DataReader...\'를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.