Я использую DataAdapter
и DataTable
для редактирования / добавления данных в таблицу Oracle db , используя поставщика ODP.NET .
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
) перед сохранением, но я не уверен как. Можете ли вы дать мне несколько указаний?
Спасибо!