我正在使用ODP.NET提供程序,使用DataAdapter
和DataTable
编辑/添加Oracle db表中的数据。
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);
接下来,我通过将数据绑定到网格并进行编辑来更改数据表中的数据,并像这样保存:
OracleCommandBuilder _cmdBld = new OracleCommandBuilder(adptr);
adptr.Update(ds, "report");
到目前为止一切都很好,它按照预期工作,每次修改都会提交到数据库(DB)。 但我的问题是这样的——当我从多个表中获取数据时。 就像这样:
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";
我知道我可以手动编写DataAdapter
的更新命令(DataAdapter.UpdateCommand
),然后保存,但我不确定该怎么做。你能给我一些指导吗?
谢谢!