ExecuteScalar, ExecuteReader 및 ExecuteNonQuery를 사용해야 하는 경우
의 사용법이 헷갈립니다.
- 스칼라 실행
- 리더 실행
- 비쿼리 실행
내 코드에서 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에 대한 자세한 내용 읽기)
리더 실행
Execute Reader는 명령 개체를 사용하여 SQL Query 또는 Stored 프로시저를 실행할 때 행 집합을 반환하는 데 사용됩니다.이것은 레코드의 포워드 전용 검색이며 테이블 값을 처음부터 마지막까지 읽는 데 사용됩니다.(ExecuteReader에 대해 자세히 알아보기)
스칼라 실행
실행 스칼라는 명령 개체를 사용하여 SQL 쿼리 또는 저장 프로시저를 실행할 때 단일 행 단일 열 값, 즉 단일 값을 반환합니다.데이터베이스에서 단일 값을 검색하는 속도가 매우 빠릅니다.(스칼라 실행에 대해 자세히 알아보기)
사용하다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 개체를 제공합니다.
ExecuteNonQuery
SQL Server에서 예상되는 반환 값이 없는 경우(예: 단순 UPDATE 문)에 사용됩니다.
언급URL : https://stackoverflow.com/questions/21058970/when-to-use-executescalar-executereader-and-executenonquery
'programing' 카테고리의 다른 글
Google의 호스팅된 jQuery를 사용하는 가장 좋은 방법이지만 Google의 호스팅된 라이브러리로 다시 이동하면 실패합니다. (0) | 2023.05.12 |
---|---|
표준 WPF 탭 컨트롤에 선택한 탭 변경 이벤트가 있습니까? (0) | 2023.05.12 |
angular-cli 도구의 --base-href 매개 변수와 --deploy-url 매개 변수의 차이점은 무엇입니까? (0) | 2023.05.07 |
모든 테이블을 삭제하고 Azure SQL 데이터베이스를 재설정하는 방법 (0) | 2023.05.07 |
string_agg()에서 결과를 정렬하는 방법 (0) | 2023.05.07 |