다음을 통해 공유


OracleDataAdapter.UpdateCommand 속성

정의

데이터베이스의 레코드를 업데이트하는 데 사용할 SQL 문이나 저장 프로시저를 가져오거나 설정합니다.

public:
 property System::Data::OracleClient::OracleCommand ^ UpdateCommand { System::Data::OracleClient::OracleCommand ^ get(); void set(System::Data::OracleClient::OracleCommand ^ value); };
public System.Data.OracleClient.OracleCommand UpdateCommand { get; set; }
member this.UpdateCommand : System.Data.OracleClient.OracleCommand with get, set
Public Property UpdateCommand As OracleCommand

속성 값

OracleCommand의 수정된 행에 해당하는 데이터베이스의 레코드를 업데이트하기 위해 업데이트 작업 동안 사용되는 DataSet입니다.

예제

다음 예제에서는 를 만들고 OracleDataAdapterUpdateCommand 속성을 설정합니다SelectCommand. 개체를 이미 만들었다고 OracleConnection 가정합니다.

Public Shared Function CreateCustomerAdapter(conn As OracleConnection) As OracleDataAdapter   

  Dim da As OracleDataAdapter = New OracleDataAdapter()  
  Dim cmd As OracleCommand  
  Dim parm As OracleParameter  

  ' Create the SelectCommand.  

  cmd = New OracleCommand("SELECT * FROM Dept " & _  
                       "WHERE DName = pDName AND Loc = pLoc", conn)  

  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14)  
  cmd.Parameters.Add("pLoc", OracleType.NVarChar, 13)  

  da.SelectCommand = cmd  

  ' Create the UpdateCommand.  

  cmd = New OracleCommand("UPDATE Dept SET DeptNo = pDeptNo, DName = pDName " & _  
                       "WHERE DeptNo = poldDeptNo", conn)  

  cmd.Parameters.Add("pDeptNo", OracleType.Number, 2, "DeptNo")  
  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14, "DName")  

  parm = cmd.Parameters.Add("poldDeptNo", OracleType.Number, 2, "DeptNo")  
  parm.SourceVersion = DataRowVersion.Original  

  da.UpdateCommand = cmd  

  Return da  
End Function  
public static OracleDataAdapter CreateCustomerAdapter(OracleConnection conn)  
{  
  OracleDataAdapter da = new OracleDataAdapter();  
  OracleCommand cmd;  
  OracleParameter parm;  

  // Create the SelectCommand.  

  cmd = new OracleCommand("SELECT * FROM Dept " +  
                       "WHERE DName = pDName AND Loc = pLoc", conn);  

  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14);  
  cmd.Parameters.Add("pLoc", OracleType.NVarChar, 13);  

  da.SelectCommand = cmd;  

  // Create the UpdateCommand.  

  cmd = new OracleCommand("UPDATE Dept SET DeptNo = pDeptNo, DName = pDName " +  
                       "WHERE DeptNo = poldDeptNo", conn);  

  cmd.Parameters.Add("pDeptNo", OracleType.Number, 2, "DeptNo");  
  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14, "DName");  

  parm = cmd.Parameters.Add("poldDeptNo", OracleType.Number, 2, "DeptNo");  
  parm.SourceVersion = DataRowVersion.Original;  

  da.UpdateCommand = cmd;  

  return da;  
}  

설명

UpdateCommand 가 이전에 만든 OracleCommand에 할당되면 가 OracleCommand 복제되지 않습니다. 대신 은 UpdateCommand 이전에 만든 OracleCommand 개체에 대한 참조를 유지 관리합니다.

업데이트 작업 중에 InsertCommand이 설정되어 있지 않고 데이터 세트에 기본 키 정보가 있는 경우 OracleCommandBuilder 클래스를 사용하여 InsertCommand를 자동으로 생성하고 DataSet을 데이터베이스와 조정하는 데 필요한 추가 명령을 사용할 수 있습니다. 이렇게 하려면 의 SelectCommandOracleDataAdapter속성을 설정합니다. 생성 논리에는 키 열 정보도 에 DataSet있어야 합니다. 자세한 내용은 참조 commandbuilder를 사용 하를 사용 하 여 명령 생성합니다.

참고

이 명령을 실행하면 행이 반환될 경우 개체의 OracleCommand 속성을 설정하는 방법에 따라 이러한 행이 UpdatedRowSourceDataSet 병합될 수 있습니다.

지정 된 열을 업데이트 하는 경우는 LONG RAW 데이터 형식 값을 입력 하면 예외가 throw 됩니다 NULL 열에서입니다. Oracle LONG RAW 데이터 형식은 Oracle 버전 8.0에서에서 사용 되지 않는 형식입니다. 이 오류를 방지 하려면 사용 합니다 BLOB 데이터 형식 대신 LONG RAW합니다.

적용 대상

추가 정보