Поделиться через


OracleDataAdapter.InsertCommand Свойство

Определение

Возвращает или задает инструкцию SQL или хранимую процедуру, используемую для вставки новых записей в базу данных.

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

Значение свойства

OracleCommand используется при выполнении операции обновления для вставки в базу данных записей, соответствующих новым строкам в DataSet.

Примеры

В следующем примере создается OracleDataAdapter и задаются SelectCommand свойства и InsertCommand . Предполагается, что вы уже создали OracleConnection объект .

Public Shared Function CreateCustomerAdapter(conn As OracleConnection) As OracleDataAdapter   

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

  ' 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 InsertCommand.  

  cmd = New OracleCommand("INSERT INTO Dept (DeptNo, DName) " & _  
                       "VALUES (:pDeptNo, :pDName)", conn)  

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

  da.InsertCommand = cmd  

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

  // 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 InsertCommand.  

  cmd = new OracleCommand("INSERT INTO Dept (DeptNo, DName) " +  
                       "VALUES (:pDeptNo, :pDName)", conn);  

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

  da.InsertCommand = cmd;  

  return da;  
}  

Комментарии

InsertCommand Если свойство назначено ранее созданному OracleCommand объектуOracleCommand, объект не клонируется. Вместо этого InsertCommand сохраняет ссылку на ранее созданный OracleCommandобъект .

Если во время операции InsertCommand обновления не задано, а сведения о первичном ключе присутствуют в DataSet, можно использовать OracleCommandBuilder класс для автоматического создания InsertCommandи дополнительных команд, необходимых для согласования DataSet с базой данных. Для этого задайте SelectCommand свойство OracleDataAdapterобъекта . Логика создания также требует, чтобы сведения о ключевом столбце присутствовали DataSetв . Дополнительные сведения см. в разделе Создание команд с помощью CommandBuilders.

Примечание

Если выполнение этой команды возвращает строки, эти строки могут быть добавлены в DataSet в зависимости от того, как задано UpdatedRowSourceOracleCommand свойство объекта .

При обновлении столбца с типом LONG RAW данных при вводе значения NULL в столбец возникает исключение. Тип данных Oracle LONG RAW является устаревшим в Oracle версии 8.0. Чтобы избежать этой ошибки, используйте BLOB тип данных вместо LONG RAW.

Применяется к

См. также раздел