C#窗体程序对数据库的查询与添加

结果如图所示:

《C#窗体程序对数据库的查询与添加》 启动界面
《C#窗体程序对数据库的查询与添加》 查询—支持模糊查询
《C#窗体程序对数据库的查询与添加》 点击add后的添加界面
《C#窗体程序对数据库的查询与添加》 添加数据
《C#窗体程序对数据库的查询与添加》 在数据库中查看是否添加入数据

第一步:创建数据库—–StudentGrade,并建立Student表和Grade表,Sid,Gid自增,Student.Gid建立外键与Grade.Gid主健关联。此处的年级列,采用多表查询的方式获得。

《C#窗体程序对数据库的查询与添加》 Student表
《C#窗体程序对数据库的查询与添加》 Grade表

第二步:创建窗体程序,并引入RL.DBUtility引用。

《C#窗体程序对数据库的查询与添加》 引入UL.DbUtility

第三步:添加控件并命名

《C#窗体程序对数据库的查询与添加》 控件命名
《C#窗体程序对数据库的查询与添加》 界面搭建与控件命名

第四步:为查找(btnSearch)按钮添加点击功能
功能代码:

 private void btnSearch_Click(object sender, EventArgs e)
        {
            //操作前的准备
            string Sname = "%" + textName.Text + "%";//获取数据并添加模糊查询
            //准备好sql语句
            string sql = "SELECT Sid,Sname,Ssex,Grade.Gname FROM Student INNER JOIN Grade ON Student.Gid = Grade.Gid WHERE Sname like @Sname";
            SqlParameter[] pms = { 
                                 new SqlParameter("Sname",SqlDbType.NVarChar,50)
                                 };//创建参数
            pms[0].Value = Sname;//为参数赋值
            //DataSet是将查询结果填充到本地内存中,这样即使与连接断开,服务器的连接断开,都不会影响数据的读取。
            //但是它也有一个坏处,就是只有小数据量才能往里面存放,数据量大了就给你的本地内存冲爆了。电脑会卡死去。
            //大数据量的话还得用SqlDataReader  
            DataSet ds = DbHelperSQL.Query(sql,pms);//执行sql语句,并利用DataSet将数据填充到本地内存中
            dgvGrade.DataSource = ds.Tables[0];//DataGridView获取ds中的数据


        }

结果显示:

《C#窗体程序对数据库的查询与添加》 进行模糊查询

第五步:为新增按钮(btnAdd)添加点击事件跳转到第二个窗体
点击功能代码:

//点击添加按钮功能
        private void btnAdd_Click(object sender, EventArgs e)
        {
            anotherForm = new Form2();
            this.Hide();    //把当前窗体隐藏起来了
            anotherForm.ShowDialog();   //模态弹出新窗口
        }

注意添加变量(如图):

《C#窗体程序对数据库的查询与添加》 添加私有变量

第六步:设计添加界面(Form2)并命名(如图):

《C#窗体程序对数据库的查询与添加》 Form2的界面布局

此处做一点小改动:

《C#窗体程序对数据库的查询与添加》 Paste_Image.png

第七步:
为确认按钮(btnConfirm)添加功能,将数据插入到数据库内。
功能代码:

 private void btnConfirm_Click(object sender, EventArgs e)
        {
            //获取输入
            string name = textName.Text;//获取姓名
            //获取性别
            string sex = "男";
            if (rbMale.Checked == true)
            {
                sex = "男";
            }
            else
            {
                sex = "女";
            }
            string grade = textGradeId.Text;//获取年级编号
            string phone = textPhone.Text;//获取电话
            string address = textAddress.Text;//获取地址
            string date = textDate.Text;
            string Email = textEmail.Text;//获取Email
            //编辑sql语句
            string sql = "INSERT Student(Sname,Ssex,Student.Gid,Sphone,Saddress,date,Email) values (@Sname,@Ssex,@Gid,@Sphone,@Saddress,@date,@Email)";
            SqlParameter[] pms = { 
                                    new SqlParameter("@Sname",SqlDbType.NVarChar,50),
                                    new SqlParameter("@Ssex",SqlDbType.NChar,10),
                                    new SqlParameter("@Gid",SqlDbType.Int),
                                    new SqlParameter("@Sphone",SqlDbType.NVarChar,50),
                                    new SqlParameter("@Saddress",SqlDbType.NVarChar,50),
                                    new SqlParameter("@date",SqlDbType.NVarChar,50),
                                    new SqlParameter("@Email",SqlDbType.NVarChar,50)
                                 };//创建参数
            pms[0].Value = name;//为参数赋值
            pms[1].Value = sex;//为参数赋值
            pms[2].Value = grade;//为参数赋值
            pms[3].Value = phone;//为参数赋值
            pms[4].Value = address;//为参数赋值
            pms[5].Value = date;//为参数赋值
            pms[6].Value = Email;//为参数赋值

            //DataSet ds = DbHelperSQL.Query(sql, pms);//DbHelperSQL.Query(sql,pms)返回类型为dataset类型
            DbHelperSQL.ExecuteSql(sql,pms);
            Application.ExitThread();//退出当前线程    
           
        }

执行结果:

《C#窗体程序对数据库的查询与添加》 查询
《C#窗体程序对数据库的查询与添加》 添加界面
《C#窗体程序对数据库的查询与添加》 添加结果

    原文作者:张中华
    原文地址: https://www.jianshu.com/p/da08fc70b3c8
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞