private void ChonUser_button_Click(object sender, EventArgs e) { if (tabControl2.TabCount < 2) { tabControl2.TabPages.Add(RoleTab); } this.username = user_comboBox.Text; string username = user_comboBox.Text; is_user = true; NAME_label.Text = "USER " + username; // Select DataTable ret = Oracle.GetAllPriv(Login_Form.conn, username); //DataTable ret2 = Oracle.GetRemain_One_User(Login_Form.conn, username, "SELECT"); Priv_Preprocessing(ret); Select_User_dataGridView1.DataSource = ret; // ROLE ret = Oracle.GetRoleGrantedToUser(Login_Form.conn, username); RoleGrantedToUser_dataGridView.DataSource = ret; }
public Choose_Priv(ChucNang_form form, string Priv_Type, string table_name = "") { MainForm = form; this.Priv_type = Priv_Type; this.Table_name = table_name; InitializeComponent(); label1.Text = "CHON PRIVILEGES " + Priv_Type + " DE GRANT CHO USER TRONG BANG " + table_name + ": "; if (Priv_Type == "SELECT" || Priv_Type == "UPDATE") //SELECT, UPDATE { name_without_owner = table_name.Split('.')[1]; //name_without_owner = table_name.Split('.')[1]; DataTable Col = Oracle.Get_All_Col(MainForm.Login_Form.conn, name_without_owner); Col.Columns.Add("ENABLED", Type.GetType("System.Boolean")); Col.Columns.Add("WITH GRANT OPTION", Type.GetType("System.Boolean")); foreach (DataRow dr1 in Col.Rows) { dr1["WITH GRANT OPTION"] = false; dr1["ENABLED"] = false; } DataTable Priv_user = Oracle.GetPriv_One_User_2(MainForm.Login_Form.conn, MainForm.username, Priv_Type, name_without_owner); if (Priv_Type == "SELECT") { Select_Priv_Preprocessing(Priv_user); } foreach (DataRow dr in Priv_user.Rows) { foreach (DataRow dr1 in Col.Rows) { if (dr["COLUMN_NAME"].ToString() == dr1["COLUMN_NAME"].ToString()) { if (dr["GRANTABLE"].ToString() == "NO") { dr1["WITH GRANT OPTION"] = false; } else { dr1["WITH GRANT OPTION"] = true; } dr1["ENABLED"] = true; break; } } } if (MainForm.is_user != true) { Col.Columns.Remove("WITH GRANT OPTION"); } Priv_dataGridView.DataSource = Col; } else if (Priv_Type == "INSERT" || Priv_Type == "DELETE") { //string name = MainForm.username; DataTable All_tables = Oracle.Get_All_Table(MainForm.Login_Form.conn); All_tables.Columns.Add("ENABLED", Type.GetType("System.Boolean")); All_tables.Columns.Add("WITH GRANT OPTION", Type.GetType("System.Boolean")); foreach (DataRow dr1 in All_tables.Rows) { dr1["WITH GRANT OPTION"] = false; dr1["ENABLED"] = false; } DataTable Priv_user = Oracle.GetPriv_One_User_2(MainForm.Login_Form.conn, MainForm.username, Priv_Type, table_name); foreach (DataRow dr in Priv_user.Rows) { foreach (DataRow dr1 in All_tables.Rows) { if (dr["OBJECT_NAME"].ToString() == dr1["TABLE_NAME"].ToString() && dr["OWNER"].ToString() == dr1["OWNER"].ToString()) { if (dr["GRANTABLE"].ToString() == "NO") { dr1["WITH GRANT OPTION"] = false; } else { dr1["WITH GRANT OPTION"] = true; } dr1["ENABLED"] = true; break; } } } if (MainForm.is_user != true) { All_tables.Columns.Remove("WITH GRANT OPTION"); } Priv_dataGridView.DataSource = All_tables; //DataTable User_Priv = Oracle.GetPriv_One_User_2(MainForm.Login_Form.conn, name, ); } else { DataTable Role_Granted_To_User = Oracle.GetRoleGrantedToUser(MainForm.Login_Form.conn, MainForm.username); DataTable All_Role = Oracle.GetRoleCanGrantToUser(MainForm.Login_Form.conn, MainForm.Login_Form.LogedIn_Username.ToUpper()); All_Role.Columns.Add("ENABLED", Type.GetType("System.Boolean")); All_Role.Columns.Add("WITH ADMIN OPTION", Type.GetType("System.Boolean")); foreach (DataRow dr1 in All_Role.Rows) { dr1["ENABLED"] = false;; dr1["WITH ADMIN OPTION"] = false;; } foreach (DataRow dr1 in All_Role.Rows) { foreach (DataRow dr in Role_Granted_To_User.Rows) { if (dr1["ROLE"].ToString() == dr["ROLE"].ToString()) { dr1["ENABLED"] = true; if (Convert.ToBoolean(dr["WITH ADMIN OPTION"])) { dr1["WITH ADMIN OPTION"] = true; } break; } } } Priv_dataGridView.DataSource = All_Role; } }