1

我有以下情况 - 数据库中的三个表: - um_users (id, name) - um_roles (id, description) - um_user_roles (user_id, role_id)

我将两个数据表加载到数据集中:“用户”一个,另一个建立在另外两个之上,如下所示:

_cmd = new OracleCommand("select * from um_users", _conn);
      _odaUsers = new OracleDataAdapter();
      _usersDataSet = new DataSet("um_users");
      _odaUsers.SelectCommand = _cmd;
      _odaUsers.Fill(_usersDataSet, "um_users");

_cmd = new OracleCommand("select u.user_id, r.role_id, r.role_name, r.descr " +
                  "from um_users u " +
                   "inner join um_user_roles ur on u.user_id = ur.user_id " +
                   "inner join um_roles r on ur.role_id = r.role_id ", _conn);
      _odaUsers.SelectCommand = _cmd;
      _odaUsers.Fill(_usersDataSet, "um_user_roles");
      _usersDataSet.Relations.Add("users_uur", _usersDataSet.Tables[0].Columns["USER_ID"], _usersDataSet.Tables[1].Columns["user_id"]);

此片段还添加了两者之间的关系。

我将它们显示在基础设施的超翼网格中,并且我可以对其进行编辑。保存第一个表的修改没有问题,但由于第二个更像是一个视图,我不知道我应该如何进行。我应该建立一个插入命令还是如何?

谢谢!

4

0 回答 0