小弟新学开发,在做登录界面的时候就遇到一个大难题,小弟意图如下:
设置两个combox用来供从数据库中选择部门和用户名,两者之间要关联到,还有一个密码框用来输入密码,就这么简单,但是总是不成功,网上也没有找到这样写的登录界面例子,哪位大侠能否专门指导一下,或者有相关源码可以参考?

解决方案 »

  1.   

    补充一下,数据库已经知道如何连接了,我按照书上的想法是用SqlDataReader对象获取数据后传入数组,再从数组转换到combox但是就是实际操作不行。
      

  2.   

    将在在数据库查询的用户填充在  DataTable或DataSet,再绑定到Comobox可以啦。
      

  3.   

      this.TGgoodstype.DataSource = runcmd.gettable("select Objectid,Objectname from dbo.TG_Goodsobject where Static=1 union select Companyid=-1,Companyname='--请选择--'");
                    this.TGgoodstype.ValueMember = "Objectid";
                    this.TGgoodstype.DisplayMember = "Objectname";
                    this.TGgoodstype.SelectedIndex = 0;
      

  4.   

    你说的是二级联动吧。在第一个控件的SelectedIndexChanged事件里写。
    记得把AutoPostBack设为true啵!http://www.heyant.com广告
      

  5.   


    用户名,密码,部门是在一张表里吗?把数据读出来放到DataSet 里。。combobox1.DataSource = ds.Tables[0];
          combobox1.DisplayMember = "部门字段名";
          combobox1.ValueMember = "ID";这样不就行了??
      

  6.   

            SqlConnection con = BaseClass.DBCon();        private void btnLogin_Click(object sender, EventArgs e)
            {
                if (cbbType.Text.Trim() == "请选择登陆身份")
                {
                    MessageBox.Show("请选择登陆身份", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    if (txtUser.Text.Trim() == "" || txtPwd.Text == "")
                    {
                        MessageBox.Show("请输入登陆帐号或密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);                }
                    else
                    {
                        if (cbbType.Text.Trim() == "学生")
                        {
                            con.Open();
                            string strSQl = "select * from tb_User where UserFlag=0 and UserID='" + txtUser.Text.Trim() + "' and UserPwd='" + txtPwd.Text + "'";
                            SqlCommand cmd = new SqlCommand(strSQl, con);
                            SqlDataReader sdr = cmd.ExecuteReader();
                            sdr.Read();
                            if (sdr.HasRows)
                            {
                                this.Hide();
                                StudentExam f = new StudentExam(txtUser.Text.Trim(), txtPwd.Text);
                                f.Show();
                            }
                            else
                            {
                                MessageBox.Show("学生帐号或密码错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            con.Close();
                        }
                        else
                        {
                            con.Open();
                            string strSQl = "select * from tb_User where UserFlag=1 and UserID='" + txtUser.Text.Trim() + "' and UserPwd='" + txtPwd.Text + "'";
                            SqlCommand cmd = new SqlCommand(strSQl, con);
                            SqlDataReader sdr = cmd.ExecuteReader();
                            sdr.Read();
                            if (sdr.HasRows)
                            {
                                this.Hide();
                                AdminManage f = new AdminManage(txtUser.Text.Trim());
                                f.Show();
                            }
                            else
                            {
                                MessageBox.Show("管理员帐号或密码错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            con.Close();
                        }                }
                }
            }其中BaseClass.DBCON()是调用基类连接数据库的方法
      

  7.   

    谢谢所有人,这个问题我自己意外搞了一个方法,直接把Datareader对象绑到了combox上,很简单,而且也可以实现了,只是有人说我这个方法不太好,呵呵,如下:
     SqlDataReader M_bumen = MyDataClass.getcom("select * from czbm");
                while (M_bumen.Read())
                {
                    com_bumen.Items.Add(M_bumen[2].ToString());  //com_bumen是combox控件
                    com_bumen.SelectedIndex = 0;
                }
    初学者,先满足一下了,再次感谢上面发言的所有热心人,多谢!