private void btnOK_Click(object sender, EventArgs e) { #region 账户或口令为空判断 txtLoginName.Text = txtLoginName.Text.Trim(); if (string.IsNullOrEmpty(txtLoginName.Text)) { ClsMsgBox.Jg("账户不能为空!"); return; } txtPassword.Text = txtPassword.Text.Trim(); if (string.IsNullOrEmpty(txtPassword.Text)) { ClsMsgBox.Jg("口令不能为空!"); return; } #endregion //获取用户信息 vusersTableAdapter uta = new vusersTableAdapter(); DSjckja.vusersDataTable u = uta.GetDataByLoginName(txtLoginName.Text); DSjckja.vusersRow userRow = u.Rows.Count == 0 ? null : (DSjckja.vusersRow)u.Rows[0]; #region 账户、口令有效性判断 if (userRow == null) { ClsMsgBox.Jg("账户不存在!"); return; } //判断口令 if (string.Compare(txtPassword.Text, userRow.password, false) != 0) { ClsMsgBox.Jg("口令不正确!"); return; } //判断活动状态 if (!userRow.active) { ClsMsgBox.Jg("此用户为非活动用户,不允许登录系统!"); return; } #endregion #region 是否保存到cookie if (chkAutoSave.Checked) { Context.Cookies["Account"] = txtLoginName.Text; Context.Cookies["Password"] = txtPassword.Text; } else { Context.Cookies["Account"] = ""; Context.Cookies["Password"] = ""; } #endregion //将登陆用户信息保存到session VWGContext.Current.Session["userRow"] = userRow; this.Context.Session.IsLoggedOn = true;//允许打开实际的窗体 }
private void createFuncTree() { string cmd = @" SELECT id, mc, bm, jb, id0, mc0, bm0, id1, mc1, bm1, id2, mc2, bm2, id3, mc3, bm3, id4, mc4, bm4, id5, mc5, bm5 FROM vfuncsa WHERE jb > 0 ORDER BY xh0, xh1, xh2, xh3, xh4, xh5 "; DSjckja.vusersRow userRow = VWGContext.Current.Session["userRow"] as DSjckja.vusersRow; if (userRow.qx >= 1024) { string[] cmds = cmd.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); cmds[4] = string.Format(@"WHERE ID IN (SELECT funcid FROM trolefuncs where roleid={0})", userRow.roleid); cmd = string.Join(Environment.NewLine, cmds); } DataTable dt = ClsMSSQL.GetDataTable(cmd, ClsDBCon.ConStrKj); TreeNode tn, tp; TreeNode[] tns; int jb; string id; foreach (DataRow r in dt.Rows) { jb = Convert.ToInt32(r["jb"].ToString()); tp = null; for (int i = 1; i <= jb; i++) { id = "id" + i; //按照以r[id].ToString()为名查找具有指定键的树节点,可以选择搜索子节点,返回一个list[]。 tns = trV.Nodes.Find(r[id].ToString(), true); if (tns.Length > 0) { tp = tns[0]; } else { tn = createANode(r, i); if (tp == null) { trV.Nodes.Add(tn);//向trV控件添加节点 } else { tp.Nodes.Add(tn);//向父节点tp中添加节点 } tp = tn; } } } }