이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

SqlCommand 클래스

SQL Server 데이터베이스에 대해 실행할 Transact-SQL 문이나 저장 프로시저를 나타냅니다. 이 클래스는 상속될 수 없습니다.

네임스페이스:  System.Data.SqlClient
어셈블리:  System.Data(System.Data.dll)

public sealed class SqlCommand : DbCommand, 
	ICloneable

SqlCommand 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드SqlCommand() SqlCommand 클래스의 새 인스턴스를 초기화합니다.
Public 메서드SqlCommand(String)쿼리 텍스트를 사용하여 SqlCommand 클래스의 새 인스턴스를 초기화합니다.
Public 메서드SqlCommand(String, SqlConnection)쿼리의 텍스트와 SqlConnection을 사용하여 SqlCommand 클래스의 새 인스턴스를 초기화합니다.
Public 메서드SqlCommand(String, SqlConnection, SqlTransaction)쿼리의 텍스트, SqlConnection, SqlTransaction 등을 사용하여 SqlCommand 클래스의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성CommandText데이터 소스에서 실행할 Transact-SQL 문, 테이블 이름 또는 저장 프로시저를 가져오거나 설정합니다. (DbCommand.CommandText을(를) 재정의함)
Public 속성CommandTimeout명령 실행을 종료하고 오류를 생성하기 전 대기 시간을 가져오거나 설정합니다. (DbCommand.CommandTimeout을(를) 재정의함)
Public 속성CommandType CommandText 속성이 해석될 방법을 나타내는 값을 가져오거나 설정합니다. (DbCommand.CommandType을(를) 재정의함)
Public 속성Connection SqlCommand 의 이 인스턴스에서 사용되는 SqlConnection을 가져오거나 설정합니다.
Public 속성Container Component 가 포함된 IContainer를 가져옵니다. (Component에서 상속됨)
Public 속성DesignTimeVisible명령 개체를 Windows Form 디자이너 컨트롤에서 표시할지 여부를 나타내는 값을 가져오거나 설정합니다. (DbCommand.DesignTimeVisible을(를) 재정의함)
Public 속성Notification이 명령에 바인딩된 SqlNotificationRequest 개체를 지정하는 값을 가져오거나 설정합니다.
Public 속성NotificationAutoEnlist응용 프로그램에서 일반적인 SqlDependency 개체의 쿼리 알림을 자동으로 받을지 여부를 나타내는 값을 가져오거나 설정합니다.
Public 속성Parameters SqlParameterCollection 를 가져옵니다.
Public 속성Site Component ISite를 가져오거나 설정합니다. (Component에서 상속됨)
Public 속성Transaction SqlCommand 가 실행되는 SqlTransaction을 가져오거나 설정합니다.
Public 속성UpdatedRowSource DbDataAdapter Update 메서드에 의해 사용될 때 명령 결과가 DataRow에 적용되는 방법을 가져오거나 설정합니다. (DbCommand.UpdatedRowSource을(를) 재정의함)
위쪽

  이름설명
Public 메서드BeginExecuteNonQuery() SqlCommand 에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작합니다.
Public 메서드BeginExecuteNonQuery(AsyncCallback, Object)콜백 프로시저와 상태 정보가 주어진 상태에서 이 SqlCommand에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 초기화합니다.
Public 메서드BeginExecuteReader() SqlCommand 에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작하고 서버에서 하나 이상의 결과 집합을 검색합니다.
Public 메서드BeginExecuteReader(CommandBehavior) CommandBehavior 값 중 하나를 사용하여 이 SqlCommand에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작합니다.
Public 메서드BeginExecuteReader(AsyncCallback, Object)콜백 프로시저와 상태 정보가 주어진 상태에서 이 SqlCommand에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작하고 서버에서 하나 이상의 결과 집합을 검색합니다.
Public 메서드BeginExecuteReader(AsyncCallback, Object, CommandBehavior)콜백 프로시저와 상태 정보가 주어진 상태에서 이 SqlCommand에서 설명하는 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작하고 CommandBehavior 값 중 하나를 사용하여 서버에서 하나 이상의 결과 집합을 검색합니다.
Public 메서드BeginExecuteXmlReader() SqlCommand 에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작하고 결과를 XmlReader 개체로 반환합니다.
Public 메서드BeginExecuteXmlReader(AsyncCallback, Object)콜백 프로시저를 사용하여 이 SqlCommand에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작하고 결과를 XmlReader 개체로 반환합니다.
Public 메서드Cancel SqlCommand 의 실행을 취소하려고 시도합니다. (DbCommand.Cancel()을(를) 재정의함)
Public 메서드Clone현재 인스턴스의 복사본인 새 SqlCommand 개체를 만듭니다.
Public 메서드CreateObjRef원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨)
Public 메서드CreateParameter SqlParameter 개체의 새 인스턴스를 만듭니다.
Public 메서드Dispose() Component 에서 사용하는 모든 리소스를 해제합니다. (Component에서 상속됨)
Public 메서드EndExecuteNonQueryTransact-SQL 문의 비동기 실행을 완료합니다.
Public 메서드EndExecuteReader요청된 SqlDataReader를 반환하는 Transact-SQL 문의 비동기 실행을 완료합니다.
Public 메서드EndExecuteXmlReader요청된 데이터를 XML로 반환하는 Transact-SQL 문의 비동기 실행을 완료합니다.
Public 메서드Equals(Object) 지정한 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상속됨)
Public 메서드ExecuteNonQuery연결에 대한 Transact-SQL 문을 실행하고 영향을 받는 행의 수를 반환합니다. (DbCommand.ExecuteNonQuery()을(를) 재정의함)
Public 메서드ExecuteNonQueryAsync()연결 개체에 대해 SQL 문을 실행하는 비동기 버전의 ExecuteNonQuery입니다.CancellationToken.None을 사용하여 ExecuteNonQueryAsync를 호출합니다. (DbCommand에서 상속됨)
Public 메서드ExecuteNonQueryAsync(CancellationToken)연결에 대해 Transact-SQL 문을 실행하고 영향을 받는 행의 수를 반환하는 ExecuteNonQuery의 비동기 버전입니다. 취소 토큰은 명령 시간 제한이 경과하기 전에 작업을 취소하는 요청에 사용할 수 있습니다. 예외는 반환된 작업 개체를 통해 보고됩니다. (DbCommand.ExecuteNonQueryAsync(CancellationToken)을(를) 재정의함)
Public 메서드ExecuteReader() CommandText Connection에 보내고, SqlDataReader를 빌드합니다.
Public 메서드ExecuteReader(CommandBehavior) CommandText Connection에 보내고, CommandBehavior 값 중 하나를 사용하여 SqlDataReader를 빌드합니다.
Public 메서드ExecuteReaderAsync() CommandText Connection에 보내고 SqlDataReader를 작성하는 ExecuteReader의 비동기 버전입니다. 예외는 반환된 작업 개체를 통해 보고됩니다.
Public 메서드ExecuteReaderAsync(CancellationToken) CommandText Connection에 보내고 SqlDataReader를 작성하는 ExecuteReader의 비동기 버전입니다.취소 토큰은 명령 시간 제한이 경과하기 전에 작업을 취소하는 요청에 사용할 수 있습니다. 예외는 반환된 작업 개체를 통해 보고됩니다.
Public 메서드ExecuteReaderAsync(CommandBehavior) CommandText Connection에 보내고 SqlDataReader를 작성하는 ExecuteReader의 비동기 버전입니다. 예외는 반환된 작업 개체를 통해 보고됩니다.
Public 메서드ExecuteReaderAsync(CommandBehavior, CancellationToken) CommandText Connection에 보내고 SqlDataReader를 작성하는 ExecuteReader의 비동기 버전입니다.취소 토큰은 명령 시간 제한이 경과하기 전에 작업을 취소하는 요청에 사용할 수 있습니다. 예외는 반환된 작업 개체를 통해 보고됩니다.
Public 메서드ExecuteScalar쿼리를 실행하고 쿼리에서 반환된 결과 집합에서 첫 번째 행의 첫 번째 열을 반환합니다. 추가 열이나 행은 무시됩니다. (DbCommand.ExecuteScalar()을(를) 재정의함)
Public 메서드ExecuteScalarAsync()쿼리를 실행하고 쿼리에서 반환된 결과 집합의 첫 번째 행의 첫 번째 열을 반환하는 ExecuteScalar의 비동기 버전입니다. 다른 모든 열과 행은 무시됩니다. CancellationToken.None을 사용하여 ExecuteScalarAsync를 호출합니다. (DbCommand에서 상속됨)
Public 메서드ExecuteScalarAsync(CancellationToken)쿼리를 비동기적으로 실행하고 쿼리에서 반환된 결과 집합의 첫 번째 행의 첫 번째 열을 반환하는 ExecuteScalar의 비동기 버전입니다. 추가 열이나 행은 무시됩니다. 취소 토큰은 명령 시간 제한이 경과하기 전에 작업을 취소하는 요청에 사용할 수 있습니다. 예외는 반환된 작업 개체를 통해 보고됩니다. (DbCommand.ExecuteScalarAsync(CancellationToken)을(를) 재정의함)
Public 메서드ExecuteXmlReader CommandText Connection에 보내고, XmlReader 개체를 빌드합니다.
Public 메서드ExecuteXmlReaderAsync() CommandText Connection에 보내고 XmlReader 개체를 작성하는 ExecuteXmlReader의 비동기 버전입니다.예외는 반환된 작업 개체를 통해 보고됩니다.
Public 메서드ExecuteXmlReaderAsync(CancellationToken) CommandText Connection에 보내고 XmlReader 개체를 작성하는 ExecuteXmlReader의 비동기 버전입니다.취소 토큰은 명령 시간 제한이 경과하기 전에 작업을 취소하는 요청에 사용할 수 있습니다. 예외는 반환된 작업 개체를 통해 보고됩니다.
Public 메서드GetHashCode기본 해시 함수로 작동합니다. (Object에서 상속됨)
Public 메서드GetLifetimeService이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드InitializeLifetimeService이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨)
Public 메서드PrepareSQL Server 인스턴스의 명령에 사용할 버전을 만듭니다. (DbCommand.Prepare()을(를) 재정의함)
Public 메서드ResetCommandTimeout CommandTimeout 속성을 기본값으로 다시 설정합니다.
Public 메서드ToString Component 의 이름이 포함된 String을 반환합니다. 이 메서드는 재정의할 수 없습니다. (Component에서 상속됨)
위쪽

  이름설명
Public 이벤트Disposed Dispose 메서드를 호출하여 구성 요소가 삭제되는 경우 발생합니다. (Component에서 상속됨)
Public 이벤트StatementCompletedTransact-SQL 문의 실행이 완료될 때 발생합니다.
위쪽

  이름설명
명시적 인터페이스 구현Private 메서드ICloneable.Clone현재 인스턴스의 복사본인 새 SqlCommand 개체를 만듭니다.
명시적 인터페이스 구현Private 속성IDbCommand.Connection IDbCommand 의 이 인스턴스에서 사용되는 IDbConnection을 가져오거나 설정합니다. (DbCommand에서 상속됨)
명시적 인터페이스 구현Private 메서드IDbCommand.CreateParameter IDbDataParameter 개체의 새 인스턴스를 만듭니다. (DbCommand에서 상속됨)
명시적 인터페이스 구현Private 메서드IDbCommand.ExecuteReader() Connection 에 대해 CommandText를 실행하고 IDataReader를 빌드합니다. (DbCommand에서 상속됨)
명시적 인터페이스 구현Private 메서드IDbCommand.ExecuteReader(CommandBehavior) Connection 에 대해 CommandText를 실행하고 CommandBehavior 값 중 하나를 사용하여 IDataReader를 빌드합니다. (DbCommand에서 상속됨)
명시적 인터페이스 구현Private 속성IDbCommand.Parameters IDataParameterCollection 를 가져옵니다. (DbCommand에서 상속됨)
명시적 인터페이스 구현Private 속성IDbCommand.TransactionDbCommand 개체가 실행되는 DbTransaction을 가져오거나 설정합니다. (DbCommand에서 상속됨)
위쪽

SqlCommand 의 인스턴스가 만들어지면 초기 값에 읽기/쓰기 속성이 지정됩니다. 이러한 값에 대한 목록은 SqlCommand 생성자를 참조하십시오.

SqlCommand 는 다음 메서드를 제공하여 SQL Server 데이터베이스에서 명령을 실행합니다.

항목

설명

BeginExecuteNonQuery

SqlCommand 에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작하며, 일반적으로 INSERT, DELETE, UPDATE, SET 문 등의 명령을 실행합니다. BeginExecuteNonQuery 호출은 일반적으로 별도의 스레드에서 작업을 종료하는 EndExecuteNonQuery 호출과 쌍을 이루어야 합니다.

BeginExecuteReader

SqlCommand 에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작하고 서버에서 하나 이상의 결과 집합을 검색합니다. BeginExecuteReader 호출은 일반적으로 별도의 스레드에서 작업을 종료하는 EndExecuteReader 호출과 쌍을 이루어야 합니다.

BeginExecuteXmlReader

SqlCommand 에서 설명한 Transact-SQL 문이나 저장 프로시저의 비동기 실행을 시작합니다. BeginExecuteXmlReader 호출은 일반적으로 별도의 스레드에서 작업을 종료하고 XmlReader 개체를 반환하는 EndExecuteXmlReader 호출과 쌍을 이루어야 합니다.

ExecuteReader

행을 반환하는 명령을 실행합니다. 성능 향상을 위해서 ExecuteReader는 Transact-SQL sp_executesql 시스템 저장 프로시저를 사용한 명령을 호출합니다. 따라서 ExecuteReader가 Transact-SQL SET 문과 같은 명령을 실행하는 데 사용되면 원하는 효과를 얻지 못할 수도 있습니다.

ExecuteNonQuery

Transact-SQL INSERT, DELELE, UPDATE 및 SET 문과 같은 명령을 실행합니다.

ExecuteScalar

데이터베이스에서 집계 값과 같은 단일 값을 검색합니다.

ExecuteXmlReader

CommandText Connection에 보내고, XmlReader 개체를 빌드합니다.

CommandText 속성을 다시 설정하고 SqlCommand 개체를 다시 사용할 수 있습니다. 그러나 새 명령 또는 이전 명령을 실행하기 전에 먼저 SqlDataReader를 닫아야 합니다.

SqlException SqlCommand를 실행하는 메서드에서 생성되면, 보안 수준이 19 이하일 때 SqlConnection은 열린 상태로 유지됩니다. 심각도 수준이 20 이상일 때, 일반적으로 서버는 SqlConnection을 닫습니다. 그러나 사용자가 연결을 다시 열고 작업을 계속할 수 있습니다.

참고참고

서수라고도 하는 Nameless 매개 변수는 .NET Framework Data Provider for SQL Server에서 지원되지 않습니다.

TopicLocation
연습: TreeView 컨트롤에 계층 데이터 표시Building ASP .NET Web Applications in Visual Studio
연습: TreeView 컨트롤에 계층 데이터 표시Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드
연습: TreeView 컨트롤에 계층 데이터 표시Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드

다음 예제에서는 SqlConnection, SqlCommand, SqlDataReader 등을 만듭니다. 이 예제에서는 데이터를 읽고 해당 데이터를 콘솔에 씁니다. 마지막으로, 이 예제에서는 SqlDataReader를 닫고, Using 코드 블록을 종료할 때 SqlConnection를 닫습니다.


private static void ReadOrderData(string connectionString)
{
    string queryString = 
        "SELECT OrderID, CustomerID FROM dbo.Orders;";
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(
            queryString, connection);
        connection.Open();
        SqlDataReader reader = command.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}",
                    reader[0], reader[1]));
            }
        }
        finally
        {
            // Always call Close when done reading.
            reader.Close();
        }
    }
}


.NET Framework

4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework 에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 다음을 참조하십시오. .NET Framework 시스템 요구 사항.

이 형식의 static(Visual Basic의 경우 Shared) 모든 공용 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft