简单分页

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;

namespace opdata{public partial class Form1 : Form    {private static String connectstring = "server=192.168.15.175;database='wentest';user id='sa';password='19831221'";private SqlConnection allconn; //连接对象        private int allpage; //计算得出的总页数        private int currpage; //当前页数        private int allrows;//所有条数        private int psize;public Form1()        {            InitializeComponent();        }

private void button1_Click(object sender, EventArgs e)        {            listView1.Items.Clear();            SqlConnection conn = new SqlConnection(connectstring);try            {                conn.Open();                SqlCommand cmd = new SqlCommand("select top 100 * from adonet", conn);                SqlDataReader sread = cmd.ExecuteReader();while (sread.Read())                {                    ListViewItem lv = new ListViewItem(sread.GetString(0));                    lv.SubItems.Add(sread.GetString(1));                    lv.SubItems.Add(sread.GetString(2));                    lv.SubItems.Add(sread.GetDateTime(3).ToString());                    listView1.Items.Add(lv);

                }                sread.Close();

            }catch (SqlException ee)            {                MessageBox.Show(ee.ToString());            }finally            {

                conn.Close();

            }

        }

private void setListview(ListView lview)        {            lview.View = View.Details; //表格方式            lview.GridLines = true;            lview.FullRowSelect = true;            ColumnHeader header1 = new ColumnHeader();            ColumnHeader header2 = new ColumnHeader();            ColumnHeader header3 = new ColumnHeader();            ColumnHeader header4 = new ColumnHeader();            header1.Text = "编号";            header2.Text = "名称";            header3.Text = "地址";            header4.Text = "日期";            header1.Width = 80;            header2.Width = 100;            header3.Width = 280;            header4.Width = 140;            header1.TextAlign = HorizontalAlignment.Center;            header2.TextAlign = HorizontalAlignment.Center;            header3.TextAlign = HorizontalAlignment.Center;            header4.TextAlign = HorizontalAlignment.Center;            lview.Columns.Add(header1);            lview.Columns.Add(header2);            lview.Columns.Add(header3);            lview.Columns.Add(header4);            lview.Items.Clear();        }

private void Form1_Load(object sender, EventArgs e)        {

//初始化            allconn = new SqlConnection(connectstring);            allrows = getpageall(allconn); //取得所有条数            currpage = 1;//设为第一页            psize = 50;            allpage = getpage(allrows, psize); //取得页数            setListview(listView1);//MessageBox.Show(allpage.ToString());            showlist(allconn, listView1, 1);//statusStrip1.            toolStripStatusLabel1.Text = "总共有" + allrows.ToString() + "条记录,每页" + psize .ToString()+ "条记录,共有" +allpage.ToString()+ "页,当前页:" + currpage.ToString() + "/" + allpage.ToString();            toolStripStatusLabel2.Text = "当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");        }

private void button2_Click(object sender, EventArgs e)        {            SqlConnection conn = new SqlConnection(connectstring);try             {                conn.Open();                SqlCommand cmd = new SqlCommand("select count(*) from adonet", conn);                MessageBox.Show(cmd.ExecuteScalar().ToString());            }catch (SqlException ee)            {                MessageBox.Show(ee.ToString());            }finally            {

                conn.Close();

            }        }

private void button5_Click(object sender, EventArgs e)        {            SqlConnection conn = new SqlConnection(connectstring);try            {                conn.Open();                SqlCommand cmd = new SqlCommand();                cmd.Connection = conn;                cmd.CommandText = "myfy_one"; //存储过程名                cmd.CommandType = CommandType.StoredProcedure;                SqlParameter param = cmd.CreateParameter();                param.Direction = ParameterDirection.Input; //输入参数                param.ParameterName = "@size";                param.DbType = DbType.Int32;                param.Value = 100;

                SqlParameter param1 = cmd.CreateParameter();                param1.Direction = ParameterDirection.Input;                param1.ParameterName = "@number";                param1.DbType = DbType.Int32;                param1.Value = 3;

                cmd.Parameters.Add(param);                cmd.Parameters.Add(param1);

                SqlDataReader sread = cmd.ExecuteReader();while (sread.Read())                {                    ListViewItem lv = new ListViewItem(sread.GetString(0));                    lv.SubItems.Add(sread.GetString(1));                    lv.SubItems.Add(sread.GetString(2));                    lv.SubItems.Add(sread.GetDateTime(3).ToString());                    listView1.Items.Add(lv);

                }                sread.Close();

            }catch (SqlException ee)            {                MessageBox.Show(ee.ToString());            }finally            {

                conn.Close();

            }        }

private void button6_Click(object sender, EventArgs e)        {            SqlConnection conn = new SqlConnection(connectstring);try             {                conn.Open();                SqlCommand cmd = new SqlCommand("sall",conn);                cmd.CommandType = CommandType.StoredProcedure;                cmd.Parameters.Add("@allnum",SqlDbType.Int,4);                cmd.Parameters["@allnum"].Direction = ParameterDirection.Output;                cmd.ExecuteNonQuery();                MessageBox.Show(cmd.Parameters["@allnum"].Value.ToString());

            }catch (SqlException ee)            {                MessageBox.Show(ee.ToString());            }finally            {

                conn.Close();

            }        }

private void button7_Click(object sender, EventArgs e)        {            currpage = 1;            showlist(allconn, listView1, currpage);            toolStripStatusLabel1.Text = "总共有" + allrows.ToString() + "条记录,每页" + psize.ToString() + "条记录,共有" + allpage.ToString() + "页,当前页:" + currpage.ToString() + "/" + allpage.ToString();        }

private int getpageall(SqlConnection gconn) //取得条数        {int rnum=0;try            {                gconn.Open();                SqlCommand cmd = new SqlCommand("sall", gconn);                cmd.CommandType = CommandType.StoredProcedure;                cmd.Parameters.Add("@allnum", SqlDbType.Int, 4);                cmd.Parameters["@allnum"].Direction = ParameterDirection.Output;                cmd.ExecuteNonQuery();//MessageBox.Show(cmd.Parameters["@allnum"].Value.ToString());                rnum = (int)cmd.Parameters["@allnum"].Value;

            }catch (SqlException ee)            {                MessageBox.Show(ee.ToString());            }finally            {

                gconn.Close();

            }return rnum;

        }

private int getpage(int rows,int size) //取得页数        {int page;if (rows % size == 0 ) //若是能整除            {                page = rows / size;            }else {

                page = rows / size +1;            }return page;

        }

private void showlist(SqlConnection sconn,ListView lvw,int cur) //显示记录到listview1        {            lvw.Items.Clear();if (allrows != 0) //有记录才显示            {try                {                    sconn.Open();                    SqlCommand cmd = new SqlCommand();                    cmd.Connection = sconn;                    cmd.CommandText = "myfy_one"; //存储过程名                    cmd.CommandType = CommandType.StoredProcedure;                    SqlParameter param = cmd.CreateParameter();                    param.Direction = ParameterDirection.Input; //输入参数                    param.ParameterName = "@size";                    param.DbType = DbType.Int32;                    param.Value = psize; //分页大小                    SqlParameter param1 = cmd.CreateParameter();                    param1.Direction = ParameterDirection.Input;                    param1.ParameterName = "@number";                    param1.DbType = DbType.Int32;                    param1.Value = cur;  //当前页                    cmd.Parameters.Add(param);                    cmd.Parameters.Add(param1);                    SqlDataReader sread = cmd.ExecuteReader();while (sread.Read())                    {                        ListViewItem lv = new ListViewItem(sread.GetString(0));                        lv.SubItems.Add(sread.GetString(1));                        lv.SubItems.Add(sread.GetString(2));                        lv.SubItems.Add(sread.GetDateTime(3).ToString());                        lvw.Items.Add(lv);

                    }                    sread.Close();

                }catch (SqlException ee)                {                    MessageBox.Show(ee.ToString());                }finally                {

                    sconn.Close();

                }            }

        }

private void button8_Click(object sender, EventArgs e)        {            currpage = allpage;            showlist(allconn,listView1, currpage);            toolStripStatusLabel1.Text = "总共有" + allrows.ToString() + "条记录,每页" + psize.ToString() + "条记录,共有" + allpage.ToString() + "页,当前页:" + currpage.ToString() + "/" + allpage.ToString();        }

private void button3_Click(object sender, EventArgs e)        {if (currpage > 1)            {                currpage = currpage - 1;                showlist(allconn, listView1, currpage);                toolStripStatusLabel1.Text = "总共有" + allrows.ToString() + "条记录,每页" + psize.ToString() + "条记录,共有" + allpage.ToString() + "页,当前页:" + currpage.ToString() + "/" + allpage.ToString();            }        }

private void button4_Click(object sender, EventArgs e)        {if (currpage < allpage)            {                currpage = currpage + 1;                showlist(allconn, listView1, currpage);                toolStripStatusLabel1.Text = "总共有" + allrows.ToString() + "条记录,每页" + psize.ToString() + "条记录,共有" + allpage.ToString() + "页,当前页:" + currpage.ToString() + "/" + allpage.ToString();            }        }

private void timer1_Tick(object sender, EventArgs e)        {

            toolStripStatusLabel2.Text = "当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");        }

private void button9_Click(object sender, EventArgs e)        {int size = System.Int32.Parse( textBox1.Text );if (size < 1)            {                currpage = 1;            }if (size > allpage)            {                currpage = allpage;            }            currpage = size;            showlist(allconn, listView1, currpage);            toolStripStatusLabel1.Text = "总共有" + allrows.ToString() + "条记录,每页" + psize.ToString() + "条记录,共有" + allpage.ToString() + "页,当前页:" + currpage.ToString() + "/" + allpage.ToString();

        }

    }}

转载于:https://www.cnblogs.com/onepc/archive/2011/10/29/2228689.html

C#操作数据库,分页、执行存储过程等 [二] - ADO.NET入门之中相关推荐

  1. C#操作数据库,DataSet,DataGridView,更新数据库 [一] - ADO.NET入门之中

    <?xml version="1.0" encoding="utf-8" ?><configuration><connection ...

  2. 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)

    DDL对数据库的操作:http://blog.csdn.net/baidu_37107022/article/details/72334560 DDL对数据库中表的操作 1)方法概览 2)演示 //创 ...

  3. 20110125 学习记录:在SQL Server 2005数据库中修改存储过程

    我农民了,在sqlserver2005里面修改了存储过程后居然不知道咋保存... 因为一保存就相当于save as为本地文件了 查了一下,简单的要死,只要把修改后的存储过程execute一下就ok了~ ...

  4. MFC使用ADO操作数据库

    MFC使用ADO操作数据库 1. ADO概述 ADO是Microsoft为最新和最强大的数据访问范例OLE DB而设计的,是一个便于使用的应用程序层接口.ADO使您能够编写应用程序以通过OLE. DB ...

  5. pb 执行存储过程带参数_数据库存储过程

    1. 存储过程的类型: (1) 用户自定义存储过程 自定义存储过程即用户使用T_SQL语句编写的.为了实现某一特定业务需求,在用户数据库中编写的T_SQL语句集合,自定义存储过程可以接受输入参数.向客 ...

  6. oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...

    C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...

  7. 适合千万数据查询分页操作的一个通用存储过程

    适合千万数据查询分页操作的一个通用存储过程 一.引言                最近上班比较忙,所以就很少写东西了,MongoDB系列的文章也要拖后了,没办法,工作第一,没工作就没饭吃了.今天正好 ...

  8. 总结一些关于操作数据库是sql语句还是存储过程问题

    总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...

  9. SQL未能排它地锁定数据库以执行该操作解决

    SQL未能排它地锁定数据库以执行该操作解决: --原因其他用户或进程在用着数据库 /*   关闭用户打开的进程处理   */   use   master if   exists   (select  ...

最新文章

  1. (摘)Excel 2007查询操作中的函数应用
  2. eclipse maven jetty插件方式启动项目
  3. 话里话外:浅谈国企绩效考核问题(二)
  4. ES curator离线安装与部署
  5. 解决:org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest
  6. FYFG的完整形式是什么?
  7. 除以13(信息学奥赛一本通-T1175)
  8. wxpython 优秀的界面_wxPython图形用户界面
  9. java 出栈_Java开发中巧妙使用链表来实现模拟栈的入栈出栈操作
  10. HTMl5 的新特性
  11. 程序员要实现财富自由,“出海”这条路该怎么走?
  12. 华为笔试c语言,华为笔试算法题汇总
  13. VR虚拟现实心理脱敏训练系统整体解决方案
  14. VMware Workstations Pro 14 建立的虚拟机目录无法删除
  15. python的常见矩阵除法_Python矩阵除法
  16. 南山- 旅游景点 - 小宝的家 - 和讯博客
  17. 用Bootstrap实现mansory网格瀑布流布局插件
  18. Win10恢复自带应用的方法
  19. JAVA语言语法_流程控制(part3)
  20. UNITY 开发日记/教程 俄罗斯方块 (五) 方块平移和旋转

热门文章

  1. 别再用代码开发了!整理了30套精美可视化大屏模板,零套路直接领
  2. 别把可视化不当事,看完大屏模板,Excel和PPT直言比不过
  3. 前端ajax传递json格式参数,后端springboot接收
  4. win10 mysql登录密码忘了_64位 windows10,MYSQL8.0.13重置密码(忘记密码或者无法登录)...
  5. 如何终止Java线程
  6. leetcode185 Department Top Three Salaries
  7. ThreadLocal类学习笔记
  8. 运算符重载——算术运算符重载
  9. 安卓开发—根据顾客预算显示食物信息
  10. UML--实现图(组件图、配置图)