次のような状況があります - データベースに 3 つのテーブルがあります: - um_users (id, name) - um_roles (id, description) - um_user_roles (user_id, role_id)
私はデータセットに2つのデータテーブルをロードします.1つは「ユーザー」で、もう1つは他の2つに基づいて構築されています.
_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"]);
このスニペットは、2 つの間の関係も追加します。
それらをインフラジスティックスのウルトラウィンググリッドに表示し、編集することができます。最初のテーブルの変更を保存しても問題はありませんでしたが、2 番目のテーブルはビューに似ているため、どうすればよいかわかりません。挿入コマンドを作成する必要がありますか、またはどのように作成しますか?
ありがとう!