调用存储过程实现分页查看的效果
private void 存储过程分页_Load(object sender, EventArgs e)
{
recordcount = GetCount();
if (recordcount%pageindex!=0)
{
totalsize = recordcount / pagesize + 1;
}
else
{
totalsize = recordcount / pagesize;
}
this.fenye(pageindex);
}
private void fenye(int pageindex)
{
string sql = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
using (SqlConnection sqlcnn = new SqlConnection(sql))
{
using (SqlCommand sqlcmm = sqlcnn.CreateCommand())
{
sqlcnn.Open();
sqlcmm.CommandText = "procfenye";
sqlcmm.CommandType = CommandType.StoredProcedure;
sqlcmm.Parameters.AddWithValue("@pagesize", pagesize);
sqlcmm.Parameters.AddWithValue("@pageindex", pageindex);
this.label1.Text = pageindex + "/" + this.totalsize;
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(sqlcmm);
da.Fill(dt);
this.dataGridView1.DataSource = dt;
}
}
}
private void button1_Click(object sender, EventArgs e)
{
this.fenye(1);
}
private void button4_Click(object sender, EventArgs e)
{
pageindex = totalsize;
this.fenye(totalsize);
}
private void button2_Click(object sender, EventArgs e)
{
if (pageindex>1)
{
pageindex--;
}
this.fenye(pageindex);
}
private void button3_Click(object sender, EventArgs e)
{
if (pageindex<totalsize)
{
pageindex++;
}
this.fenye(pageindex);
}
//获取记录数量
private int GetCount()
{
string sql = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
using(SqlConnection sqlcnn=new SqlConnection (sql))
{
using(SqlCommand sqlcmm=sqlcnn.CreateCommand ())
{
sqlcmm.CommandText = "select count(*) from userinfo";
sqlcnn.Open();
int count = Convert.ToInt32(sqlcmm.ExecuteScalar());
return count;
}
}
}
private void button5_Click(object sender, EventArgs e)
{
int index =Convert.ToInt32(this.textBox1.Text);
if (index <= totalsize && index > 0)
{
this.fenye(index);
}
else
{
MessageBox.Show("输入有误!");
}
}
}
}