programing

ExecuteScalar, ExecuteReader 및 ExecuteNonQuery를 사용해야 하는 경우

skycolor 2023. 5. 12. 21:56
반응형

ExecuteScalar, ExecuteReader 및 ExecuteNonQuery를 사용해야 하는 경우

의 사용법이 헷갈립니다.

  1. 스칼라 실행
  2. 리더 실행
  3. 비쿼리 실행

내 코드에서 SQL 쿼리를 실행할 때.제가 이 방법들을 언제 각각 사용해야 합니까?

  • ExecuteScalar()쿼리의 첫 번째 행의 첫 번째 열에서만 값을 반환합니다.
  • ExecuteReader()한 번에 하나의 레코드만 메모리에 유지하면서 전체 결과 집합에 대해 반복할 수 있는 개체를 반환합니다.
  • ExecuteNonQuery()데이터를 전혀 반환하지 않습니다. 삽입, 업데이트 또는 삭제의 영향을 받는 행 수만 반환합니다.

추가로, 당신은 그것을 볼 수 있습니다.DbDataAdapter 다을포유형을 합니다.Fill()전체 결과 집합을 다운로드할 수 있는 방법DataTable또는DataSet목적어뿐만 아니라 많은 다른 능력들.

마지막으로, 지금이 Microsoft Docs에 익숙해지기에 좋은 시기인 것 같습니다.이것이 바로 문서화의 목적입니다. 메소드 이름이 있으면 찾아보십시오.

ExecuteScalar : 단일 값의 경우

 Int32 Value = Convert.ToInt32(ExecuteScalar("SELECT SUM(COLUMNNAME) FROM TABLE")); 
 Int32 Value = Convert.ToInt32(ExecuteScalar("SELECT AVG(COLUMNNAME) FROM TABLE")); 

ExecuteReader : 순방향 모드에서 행 읽기

 IdataReader dr = ExecuteReader("SELECT * FROM TABLE"); 
 while(dr.Read())
 {
     //You will get rows values like this dr["ColumnName"]
 } 

ExecuteNonQuery : 테이블에 행 삽입/삭제/업데이트용

ExecuteNonQuery("DELETE FROM TABLE");
ExecuteNonQuery("UPDATE TABLE SET COLUMNNAME = 'A'");

ExecuteReader, ExecuteNonQuery 및 ExecuteScalar의 차이점은 무엇입니까?

비쿼리 실행

ExecuteNonQuery 메서드는 INSERT, DELETE 또는 UPDATE 작업에 영향을 받은 행 수를 반환합니다.이 ExecuteNonQuery 메서드는 삽입, 업데이트 및 삭제, 생성 및 SET 문에만 사용됩니다. (ExecuteNonQuery에 대한 자세한 내용 읽기)

SqlCommand.비쿼리 MSDN 문서 실행

리더 실행

Execute Reader는 명령 개체를 사용하여 SQL Query 또는 Stored 프로시저를 실행할 때 행 집합을 반환하는 데 사용됩니다.이것은 레코드의 포워드 전용 검색이며 테이블 값을 처음부터 마지막까지 읽는 데 사용됩니다.(ExecuteReader에 대해 자세히 알아보기)

SqlCommand.Reader MSDN 문서 실행

스칼라 실행

실행 스칼라는 명령 개체를 사용하여 SQL 쿼리 또는 저장 프로시저를 실행할 때 단일 행 단일 열 값, 즉 단일 값을 반환합니다.데이터베이스에서 단일 값을 검색하는 속도가 매우 빠릅니다.(스칼라 실행에 대해 자세히 알아보기)

SqlCommand.Scalar MSDN 문서 실행

사용하다ExecuteScalar쿼리가 단일 값을 반환하는 경우.더 많은 결과를 반환하는 경우 최종 결과는 첫 번째 행의 첫 번째 열이 됩니다.예를 들어 다음과 같습니다.SELECT Count(*) from MyTable

사용하다ExecuteReader여러 행/테이블로 결과 세트를 가져오는 경우(예:SELECT col1, col2 from MyTable.

사용하다ExecuteNonQuery데이터베이스에서 결과를 검색하지 않고 기존 데이터베이스에서 업데이트하는 SQL 문(예:UPDATE, INSERT,등).

기본적으로 이 작업은 단순하지만 각 SQL 용어 또는 .net 개체를 검색하거나 MSDN의 ADO.net 에 대해 읽어 자세한 내용을 볼 수 있습니다.

ExecuteScalar단일 숫자만 반환하는 SQL 스칼라 함수를 호출하는 경우.

ExecuteReader테이블에서 레코드 집합을 반환하는 SQL 호출을 수행할 때 C#로 데이터를 검색할 수 있는 SqlDataReader 개체를 제공합니다.

ExecuteNonQuerySQL Server에서 예상되는 반환 값이 없는 경우(예: 단순 UPDATE 문)에 사용됩니다.

언급URL : https://stackoverflow.com/questions/21058970/when-to-use-executescalar-executereader-and-executenonquery

반응형