J'utilise un DataAdapter
et DataTable
pour modifier/ajouter des données dans une table Oracle , en utilisant ODP.NET fournisseur.DataAdapter commande Mise à jour
DataSet ds = new DataSet("report");
DataTable dt = new DataTable("report");
adptr = new OracleDataAdapter();
string myCmd = "select * from report";
OracleCommand _cmd = new OracleCommand(myCmd, myDbConnection);
adptr.SelectCommand = _cmd;
adptr.Fill(dt);
ds.Tables.Add(dt);
Après cela, je modifier les données dans la table de données, en se liant à une grille et l'éditer et enregistrer comme ceci:
OracleCommandBuilder _cmdBld = new OracleCommandBuilder(adptr);
adptr.Update(ds, "report");
Tout grand maintenant, il fonctionne comme il est censé , chaque modification est validée sur le DB. Mais mon problème est le suivant - quand j'obtiens des données de plus d'une table. comme ceci:
string myCmd =
"select r.id, u.username, r.creation_date, r.owner
from report r inner join users u on r.user_id == u.id";
Je sais que je pourrais écrire la commande de mise à jour de DataAdapter
manuellement (DataAdapter.UpdateCommand
), avant d'enregistrer, mais je ne suis pas sûr de savoir comment. Pouvez-vous me donner quelques indications?
Merci!
merci! mais comment la commande insert ou update chercherait-elle si les données étaient fournies par deux tables jointes comme dans mon exemple? – maephisto