I think we are all successful people.

数据库,不得不说真是个折磨人的东西。为了学习这个,不得不说,小编出了多少脑油,掉了多少头发,哎,说出来都是眼泪,小心脏也是拔凉拔凉的。我想想,肯定也会有许多的编程员像我这样(初学者),所以小编要把自己的全部技巧教给大家。

Lady and Gentle,男的女的,都听好了,我要使出浑身解数了,轰隆!!!!

第一步:既然连接数据库,我们当然要有一个非常绚丽的登录界面。在这里不多做解释,相信大家肯定都会。所以就着重讲解数据库了。

  private void btnLogin_Click(object sender, EventArgs e)
        {
            //验证用户名密码是否和数据库中匹配
            //ADO.NET
            string str = "Data source=.;initial catalog=MySchool;uid=sa;pwd=6375196";
            SqlConnection con = new SqlConnection(str);
            string sql = "select count(1) from student where studentname='" + txtName.Text + "' and loginpwd='" + txtPwd.Text + "'";
            SqlCommand cmd = new SqlCommand(sql, con);
            try
            {
                con.Open();
                int count = Convert.ToInt32(cmd.ExecuteScalar());
                if (count > 0)
                {
                    //MessageBox.Show("登陆成功");
                    //如何在登陆成功后,显示FrmMain界面
                   
                    //隐藏自己(不为任何人所铭记),显示别人(鲜花和掌声),伟大
                    this.Hide();
                    FrmMain frm = new FrmMain();
                    frm.name = txtName.Text;
                    frm.Show();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("脑子有病");//提示用户信息
            }
            finally
            {
                con.Close();
            }

        }
        //Load窗体在被用户肉眼看到前就被执行了
        private void FrmLogin_Load(object sender, EventArgs e)
        {
            
        }

以上就是登录,也就是连接。这样就是登录到数据库。

插播一条信息!!!  每个用户使用每一个软件肯定都会喜欢一个界面,就是欢迎界面:

        private void FrmMain_Load(object sender, EventArgs e)
        {
            this.IsMdiContainer = true;
            this.Text = this.Text + " 欢迎您" + name;
        }   

  

 

第二步:我们可以浏览到数据库的内容,然后可以为数据库添加数据咯!

private void btnEdit_Click(object sender, EventArgs e)
        {
            //添加学生
            string pwd = txtPwd.Text;//密码
            string stuname = txtName.Text;//姓名
            //获取性别
            string stugender = string.Empty;
            if (rbtnMale.Checked)
            {
                stugender = "1";
            }
            else
            {
                stugender = "0";
            }
            //如何给下拉框绑定数据
            int gid = GetIdByName();
            //电话
            string stuPhone = txtPhone.Text;
                
            //地址
            string stuAddress = txtAddress.Text;
            //日期
           DateTime dt= dpBirthday.Value;
            string stuEmail = txtEmail.Text;
            //StudentNo, LoginPwd, StudentName, Gender, GradeId, Phone, Address, Birthday, Email, MyTT
            string sql = "insert into student values('"+pwd+"','"+stuname+"',"+stugender+","+gid+",'"+stuPhone+"','"+stuAddress+"','"+dt+"','"+stuEmail+"')";
            string str = "Data source=.;initial catalog=MySchool;uid=sa;pwd=6375196";
            SqlConnection con=new SqlConnection(str);
            SqlCommand cmd=new SqlCommand(sql,con);
            con.Open();
            int count = cmd.ExecuteNonQuery();
            if (count>0)
            {
                MessageBox.Show("成功!");
            }
            con.Close();

        }

        //该方法将年级名称转换成年级编号
        public int GetIdByName()
        {
        string str = "Data source=.;initial catalog=MySchool;uid=sa;pwd=6375196";
        SqlConnection con = new SqlConnection(str);
        string sql = "select gradeid from grade where gradename='"+cboGrade.Text+"'";
        SqlCommand cmd = new SqlCommand(sql, con);
            int gid = 0;
            try
            {
                con.Open();
                gid =Convert.ToInt32(cmd.ExecuteScalar());
            }
            catch (Exception)
            {

                MessageBox.Show("网络异常");
            }
            finally
            {
                con.Close();
            }
            return gid;
        }


        private void FrmAddStudent_Load(object sender, EventArgs e)
        {
            //拿到所有年级名称
            string str = "Data source=.;initial catalog=MySchool;uid=sa;pwd=6375196";
            SqlConnection con = new SqlConnection(str);
            string sql = "select gradename from grade";
            SqlCommand cmd = new SqlCommand(sql, con);
            try
            {
                con.Open();
               SqlDataReader dr= cmd.ExecuteReader();
                if (dr!=null)
                {
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            string gname = dr["gradename"].ToString();
                            //每读到一个年级名称,我就将"S1",添加到下拉框
                            cboGrade.Items.Add(gname);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("网络异常");
            }
            finally
            {
                con.Close();
            }
        }

  

第三步:我们可以添加学生到数据库就可以搜寻某一条数据拉~

 public FrmSearchByName()
        {
            InitializeComponent();
        }
        //加载DB中的数据到ListView中
        public void LoadDataFromDBToListView(string sql)
        {
            string str = "data source=.;initial catalog=MySchool;uid=sa;pwd=6375196;";
            SqlConnection con = new SqlConnection(str);
            
            SqlCommand cmd = new SqlCommand(sql, con);
            try
            {
                con.Open();//2分
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr != null)
                {
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            //每从DB中读取出一条数据,需要形成一个ListViewItem对象,代表的是ListView中的一行
                            int stuNo = Convert.ToInt32(dr["studentno"]);
                            //第二列 stuname
                            string stuName = Convert.ToString(dr["studentname"]);
                            //第三列  性别
                            string stugender = Convert.ToString(dr["gender"]);
                            //年级名称
                            string gname = Convert.ToString(dr["gradename"]);
                            ListViewItem lvItem = new ListViewItem(stuNo.ToString());
                            lvItem.SubItems.Add(stuName);
                            lvItem.SubItems.Add(stugender);
                            lvItem.SubItems.Add(gname);
                            //让lvItem和ListView关联

                            lvStuList.Items.Add(lvItem);

                        }
                        dr.Close();//-2分
                    }
                }
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                con.Close();//2分

            }
        }

        private void FrmSearchByName_Load(object sender, EventArgs e)
        {
            string sql = @"select Studentno,Studentname,Gender,gradename
                            from student,grade
                            where student.gradeid=grade.gradeid
                            ";
            LoadDataFromDBToListView(sql);
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            //查询数据前,清空LIstView中的数据
            lvStuList.Items.Clear();
            string sql = @"select Studentno,Studentname,Gender,gradename
                            from student,grade
                            where student.gradeid=grade.gradeid and studentname like '%"+txtStudentName.Text+"%' ";
            LoadDataFromDBToListView(sql);
        }
    }
}

  

插播一条!!! 部分的软件会有要求输入生日,什么日期什么的,那么怎么获取呢?

  //获取日历控件的value值
            MessageBox.Show(dateTimePicker1.Value.ToShortDateString());
            if (rboMale.Checked)
            {
              //给文本框赋值为男
               txtResult.Text = "男";
            }else if (rboFeMale.Checked)
            {
                //女
                txtResult.Text = "女";
            }
            else
            {
                //春哥,开玩笑了
              txtResult.Text = "春哥";
            }

 

学习到这里部分的功能就介绍完了,可能大家看完了还会迷迷糊糊,这就对了,好东西都要参悟参悟在参悟的,怎么会被一下就明白,大家要多思考哦 

posted on 2015-11-27 14:58  张BC  阅读(791)  评论(2编辑  收藏  举报
We are all best creamIT.