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
.