ado.net实现分页和用dataadapter实现增加修改删除

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.Configuration;
using System.Data.SqlClient;

namespace _20150408
{
public partial class Form1 : Form
{
int pageIndex;
public Form1()
{
InitializeComponent();
}

private void fillToolStripMenuItem_Click(object sender, EventArgs e)
{

GetData();

}

//使用dataadapter进行更新
private void updateToolStripMenuItem_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt = dataGridView1.DataSource as DataTable;
//获取数据库连接字符串
string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

using (SqlConnection conn = new SqlConnection(connStr))
{

SqlDataAdapter adapter = new SqlDataAdapter();
//构造InsertCommand
string sqlStrInsert ="insert into Student values(@name,@address)";
SqlCommand insertCommand = new SqlCommand(sqlStrInsert ,conn);
insertCommand.Parameters.Add("@name", SqlDbType.NVarChar, 50, "sName");//sName为table的列名
insertCommand.Parameters.Add("@address", SqlDbType.NVarChar, 50, "sAddress");
adapter.InsertCommand = insertCommand;
//构造UpadateCommand
string sqlStrUpadate = "update Student set sName=@name,sAddress=@address where sId=@id";
SqlCommand upadateCommand = new SqlCommand(sqlStrUpadate,conn);
upadateCommand.Parameters.Add("@name",SqlDbType.NVarChar,50,"sName");
upadateCommand.Parameters.Add("@address", SqlDbType.NVarChar, 50, "sAddress");
upadateCommand.Parameters.Add("@id", SqlDbType.Int, 50, "sId");
adapter.UpdateCommand = upadateCommand;
//构造DeleteCommand
string sqlDelete = "delete from Student where sId=@id";
SqlCommand deleteCommand=new SqlCommand (sqlDelete,conn);
deleteCommand.Parameters.Add("@id",SqlDbType.Int ,4,"sId");
adapter.DeleteCommand = deleteCommand;

conn.Open();
adapter.Update(dt);
}
GetData();
//SqlConnection conStr = new SqlConnection();
}

//进行分页查询
private void Pages_Click(object sender,EventArgs e)
{
ToolStripMenuItem menu = sender as ToolStripMenuItem;
int pageSize1 = Convert.ToInt32(pageSize.Text );
//计算最后一页的信息
int lastIndex=(int)Math.Ceiling(GetRowcount()*1.0/pageSize1);

switch (menu.Text)
{
case "First":
pageIndex = 1;

break;
case "Last":
pageIndex = lastIndex;

break;
case "Prev":
pageIndex--;
if (pageIndex<=0)
{
pageIndex = 1;
}

break;
case "Next":
pageIndex++;
if (pageIndex>=lastIndex)
{
pageIndex = lastIndex;
}

break;


}
GetData();
}
//获取总行数
private int GetRowcount()
{
int rowCount = 0;
string connStr=System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (SqlConnection conn=new SqlConnection (connStr ))
{
string sql = "select COUNT(*) from Student ";
SqlCommand cmd = new SqlCommand(sql ,conn);
conn.Open();
rowCount = Convert.ToInt32(cmd.ExecuteScalar());
}
return rowCount;
}
//private void DataBind(int pageSize2,int pageIndex)
//{
// int sIndex = pageSize2*(pageIndex -1)+1;
// int eIndex = pageSize2 * pageIndex;
// DataTable dt = new DataTable();
// string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
// using (SqlConnection conn = new SqlConnection(connStr))
// {
// string sqlStr = "select rowIndex ,sId ,sName,sAddress from vStudent where rowIndex between @sIndex and @eIndex ";
// SqlCommand cmd = new SqlCommand(sqlStr,conn );
// cmd.Parameters.AddWithValue("@sIndex", sIndex);
// cmd.Parameters.AddWithValue("@eIndex",eIndex );
// SqlDataAdapter adapter = new SqlDataAdapter(cmd);
// DataSet ds = new DataSet();
// conn.Open();
// adapter.Fill(ds);
// dt = ds.Tables[0];
// }

// //return dt;
// dataGridView1.DataSource = dt;

//}

private void Form1_Load(object sender, EventArgs e)
{
pageSize.SelectedIndex = 0;
pageIndex = 1;
}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

}
//获取数据并绑定数据
private void GetData()
{
int pageSize2 = Convert.ToInt32(pageSize.Text);

int sIndex = pageSize2 * (pageIndex - 1) + 1;
int eIndex = pageSize2 * pageIndex;
DataTable dt = new DataTable();
string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connStr))
{
string sqlStr = "select rowIndex ,sId ,sName,sAddress from vStudent where rowIndex between @sIndex and @eIndex ";
SqlCommand cmd = new SqlCommand(sqlStr, conn);
cmd.Parameters.AddWithValue("@sIndex", sIndex);
cmd.Parameters.AddWithValue("@eIndex", eIndex);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
conn.Open();
adapter.Fill(ds);
dt = ds.Tables[0];
}

dataGridView1.DataSource = dt;
}

private void pageSize_SelectedIndexChanged(object sender, EventArgs e)
{
GetData();
}




}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinying888888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值