C#操作数据库,分页、执行存储过程等 [二] - ADO.NET入门之中
简单分页
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入门之中相关推荐
- C#操作数据库,DataSet,DataGridView,更新数据库 [一] - ADO.NET入门之中
<?xml version="1.0" encoding="utf-8" ?><configuration><connection ...
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)
DDL对数据库的操作:http://blog.csdn.net/baidu_37107022/article/details/72334560 DDL对数据库中表的操作 1)方法概览 2)演示 //创 ...
- 20110125 学习记录:在SQL Server 2005数据库中修改存储过程
我农民了,在sqlserver2005里面修改了存储过程后居然不知道咋保存... 因为一保存就相当于save as为本地文件了 查了一下,简单的要死,只要把修改后的存储过程execute一下就ok了~ ...
- MFC使用ADO操作数据库
MFC使用ADO操作数据库 1. ADO概述 ADO是Microsoft为最新和最强大的数据访问范例OLE DB而设计的,是一个便于使用的应用程序层接口.ADO使您能够编写应用程序以通过OLE. DB ...
- pb 执行存储过程带参数_数据库存储过程
1. 存储过程的类型: (1) 用户自定义存储过程 自定义存储过程即用户使用T_SQL语句编写的.为了实现某一特定业务需求,在用户数据库中编写的T_SQL语句集合,自定义存储过程可以接受输入参数.向客 ...
- oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...
C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...
- 适合千万数据查询分页操作的一个通用存储过程
适合千万数据查询分页操作的一个通用存储过程 一.引言 最近上班比较忙,所以就很少写东西了,MongoDB系列的文章也要拖后了,没办法,工作第一,没工作就没饭吃了.今天正好 ...
- 总结一些关于操作数据库是sql语句还是存储过程问题
总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...
- SQL未能排它地锁定数据库以执行该操作解决
SQL未能排它地锁定数据库以执行该操作解决: --原因其他用户或进程在用着数据库 /* 关闭用户打开的进程处理 */ use master if exists (select ...
最新文章
- (摘)Excel 2007查询操作中的函数应用
- eclipse maven jetty插件方式启动项目
- 话里话外:浅谈国企绩效考核问题(二)
- ES curator离线安装与部署
- 解决:org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest
- FYFG的完整形式是什么?
- 除以13(信息学奥赛一本通-T1175)
- wxpython 优秀的界面_wxPython图形用户界面
- java 出栈_Java开发中巧妙使用链表来实现模拟栈的入栈出栈操作
- HTMl5 的新特性
- 程序员要实现财富自由,“出海”这条路该怎么走?
- 华为笔试c语言,华为笔试算法题汇总
- VR虚拟现实心理脱敏训练系统整体解决方案
- VMware Workstations Pro 14 建立的虚拟机目录无法删除
- python的常见矩阵除法_Python矩阵除法
- 南山- 旅游景点 - 小宝的家 - 和讯博客
- 用Bootstrap实现mansory网格瀑布流布局插件
- Win10恢复自带应用的方法
- JAVA语言语法_流程控制(part3)
- UNITY 开发日记/教程 俄罗斯方块 (五) 方块平移和旋转
热门文章
- 别再用代码开发了!整理了30套精美可视化大屏模板,零套路直接领
- 别把可视化不当事,看完大屏模板,Excel和PPT直言比不过
- 前端ajax传递json格式参数,后端springboot接收
- win10 mysql登录密码忘了_64位 windows10,MYSQL8.0.13重置密码(忘记密码或者无法登录)...
- 如何终止Java线程
- leetcode185 Department Top Three Salaries
- ThreadLocal类学习笔记
- 运算符重载——算术运算符重载
- 安卓开发—根据顾客预算显示食物信息
- UML--实现图(组件图、配置图)