OracleDataAdapter.UpdateCommand Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une instruction SQL ou une procédure stockée utilisée pour mettre à jour des enregistrements dans la base de données.
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
Valeur de propriété
OracleCommand employé dans une opération de mise à jour pour mettre à jour dans la base de données des enregistrements qui correspondent aux lignes modifiées dans DataSet.
Exemples
L’exemple suivant crée un OracleDataAdapter et définit les SelectCommand propriétés et UpdateCommand . Il suppose que vous avez déjà créé un OracleConnection objet.
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;
}
Remarques
Quand UpdateCommand est affecté à un précédemment créé OracleCommand, le n’est OracleCommand pas cloné. Au lieu de cela, conserve UpdateCommand une référence à l’objet créé OracleCommand précédemment.
Lors d’une opération de mise à jour, si InsertCommand n’est pas défini et que des informations sur la clé primaire sont présentes dans le DataSet, vous pouvez utiliser la OracleCommandBuilder classe pour générer InsertCommandautomatiquement et des commandes supplémentaires nécessaires pour rapprocher le DataSet avec la base de données. Pour ce faire, définissez la SelectCommand propriété de .OracleDataAdapter La logique de génération exige également que les informations de colonne clés soient présentes dans .DataSet Pour plus d’informations, consultez Génération de commandes avec CommandBuilders.
Notes
Si l’exécution de cette commande retourne des lignes, ces lignes peuvent être fusionnées avec le en fonction de la DataSet façon dont vous définissez la UpdatedRowSource propriété de l’objet OracleCommand .
Lorsque vous mettez à jour une colonne avec le LONG RAW
type de données, une exception est levée lorsque vous entrez une valeur de NULL
dans la colonne. Le type de données Oracle LONG RAW
est un type déconseillé dans Oracle version 8.0. Pour éviter cette erreur, utilisez le BLOB
type de données au lieu de LONG RAW
.