• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C# winform分页查询的实现示例

c# 搞代码 4年前 (2022-01-09) 25次浏览 已收录 0个评论

1、功能需求

本实例将通过c# winform实现简单的分页功能,需要的基础知识有SQL语句,c#语言基础以及c# winform的一些简单知识。

2、界面设计

这是一个简单的分页查询的界面,可以输入任意字段进行查询,这四个字段在数据准备会提到,整体界面如图1所示。

图1

中间显示是一个DataGridView,编辑好列和id,SortMode选择Automatic,意思是所有列自动铺满DataGridView,如图2所示。

图2

3、数据准备

本实例涉及到删查改,因此要有数据表以及对数据表进行操作的代码。数据库表非常简单,如图3所示,分别有对应四个字段。

图3

later_back模型类对应数据库操作类代码如下:

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WindowsFormsApp1.Bean;


namespace WindowsFormsApp1.SqlHelper
{
    class LaterBackHelper
    {
        public LaterBackHelper(){}


        public void insert(LaterBack laterBack)
        {
            string sql = "insert into later_back(dormitory_id,student_no,time,reason) values('" + laterBack.Dormitory_id + "','" + laterBack.Student_no + "'," + "'" + laterBack.Time + "',"
                + "'" + laterBack.Reason + "')";
            try
            {
                int iRet = SqlHelperBase.ExecuteSql(sql);
                if (iRet > 0)
                {
                    MessageBox.Show("新增成功", "系统提示");
                }
                else
                {
                    MessageBox.Show("新增失败", "系统提示");
                }
            }
            catch (Exception)
            {
                throw;
            }
        }


        public int update(LaterBack laterBack)
        {
            string sql = "update later_back set reason='" + laterBack.Reason + "' where student_no= '" + laterBack.Student_no + "' and"
                + " time = '" + laterBack.Time + "' and " + " dormitory_id= '" + laterBack.Dormitory_id +  "'";
            try
            {
                int iRet = SqlHelperBase.ExecuteSql(sql);//这里返回的是受影响的行数,为int值。可以根据返回的值进行判断是否插入成功。
                if (iRet > 0)
                {
                    MessageBox.Show("修改成功", "系统提示");
                }
                else
                {
                    MessageBox.Show("修改失败", "系统提示");
                }
                return iRet;
            }
            catch (Exception)
            {
                throw;
            }
        }


        public int delete(LaterBack laterBack)
        {
            string sql = "delete from later_back where dormitory_id='" + laterBack.Dormitory_id + "' and" + " student_no= '" + laterBack.Student_no + "' and"
                + " time = '" + laterBack.Time + "' and" + " reason= '" + laterBack.Reason+"'";
            try
            {
                int iRet = SqlHelperBase.ExecuteSql(sql);//这里返回的是受影响的行数,为int值。可以根据返回的值进行判断是否插入成功。
                if (iRet > 0)
                {
                    MessageBox.Show("删除成功", "系统提示");
                }
                else
                {
                    MessageBox.Show("删除失败", "系统提示");
                }
                return iRet;
            }
            catch (Exception)
            {
                throw;
            }
        }


        public List<LaterBack> getAllLaterBacks()
        {
            List<LaterBack> laterBacks= new List<LaterBack>();
            string sql = "select * from later_back";
            MySqlDataReader mySqlDataReader = SqlHelperBase.ExecuteReader(sql);
            while (mySqlDataReader.Read())
            {
                LaterBack laterBack = new LaterBack(int.Parse(mySqlDataReader[0].ToString()), int.Parse(mySqlDataReader[1].ToString()), mySqlDataReader[2].ToString(),
                    mySqlDataReader[3].ToString());
                laterBacks.Add(laterBack);
            }
            mySqlDataReader.Close();
            return laterBacks;
        }
        public List<LaterBack> getAllLaterBacks(int student_no)
        {
            List<LaterBack> laterBacks= new List<LaterBack>();
            string sql = "select * from later_back where student_no ='" + student_no + "'";
            MySqlDataReader mySqlDataReader = SqlHelperBase.ExecuteReader(sql);
            while (mySqlDataReader.Read())
            {
                La<b style="color:transparent">本文来源gao@!dai!ma.com搞$$代^@码!网!</b>terBack laterBack = new LaterBack(int.Parse(mySqlDataReader[0].ToString()), int.Parse(mySqlDataReader[1].ToString()), mySqlDataReader[2].ToString(),
                    mySqlDataReader[3].ToString());
                laterBacks.Add(laterBack);
            }
            mySqlDataReader.Close();
            return laterBacks;
        }
        public DataSet getAllDataSet()
        {
            string sql = "select * from later_back";
            return SqlHelperBase.GetDataSet(sql);
        }
        //模糊查询
        public DataSet getDataSet(LaterBack laterBack)
        {
            string sql="";
            if(laterBack.Student_no != -1)
            {
                if (laterBack.Dormitory_id != -1) sql = "select * from later_back where dormitory_id like '%" + laterBack.Dormitory_id
                          + "%' and student_no like '%" + laterBack.Student_no + "%' and time like '%" + laterBack.Time
                          + "%' and reason like '%" + laterBack.Reason + "%'";
                else sql = "select * from later_back where student_no like '%" + laterBack.Student_no + "%' and time like '%" + laterBack.Time
                          + "%' and reason like '%" + laterBack.Reason + "%'";
            }
            else
            {
                if (laterBack.Dormitory_id != -1) sql = "select * from later_back where dormitory_id like '%" + laterBack.Dormitory_id
                           + "%' and time like '%" + laterBack.Time+ "%' and reason like '%" + laterBack.Reason + "%'";
                else sql = "select * from later_back where time like '%" + laterBack.Time
                          + "%' and reason like '%" + laterBack.Reason + "%'";
            }
            return SqlHelperBase.GetDataSet(sql);
        }
    }
}

4、源码实现


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C# winform分页查询的实现示例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址