C#窗体操作数据库时使用按钮动态衔接上下一条的数据

首先来看一下运行结果的截图

嘿嘿,窗体还算漂亮吧

下面详细介绍如何实现标题中的功能:

View Code
1 privatevoid bubbleButton9_Click(object sender, DevComponents.DotNetBar.ClickEventArgs e)//移到第一条
2   {
3 Num =0;
4 Result(Num);
5 }
6
7 privatevoid bubbleButton10_Click(object sender, DevComponents.DotNetBar.ClickEventArgs e)//移到上一条
8   {
9
10 Num -=1;
11 if (Num >=0)
12 {
13 Result(Num);
14 }
15 else
16 {
17 MessageBox.Show("现已是首条记录!!", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
18 Num =0;
19 return; ;
20 }
21 }
22
23 privatevoid bubbleButton11_Click(object sender, DevComponents.DotNetBar.ClickEventArgs e)//移到下一条
24   {
25 Num +=1;
26 if (Num < Count)
27 {
28 Result(Num);
29 }
30 else
31 {
32 MessageBox.Show("现已是末条记录!!", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
33 Num = Count -1;
34 return;
35 }
36 }
37
38 privatevoid bubbleButton12_Click(object sender, DevComponents.DotNetBar.ClickEventArgs e)//移到最后一条
39   {
40
41 Num = Count;
42 Result(Num -1);
43 }

当然你可以根据实际的要求进行灵活的改进。

到此只是完成了主要的部分,程序之前还需要对相关变量声明,最好是全局的变量,申明如下:

View Code
1 staticint Num =0;//移动记录的初始值
2  int Count =0;//移动记录的计数变量

上述使用了自定义方法Result() //用于记录结果集,详细代码如下

privatevoid Result(int j) //用于记录结果集
{
DataSet dsNew
= DtReslut(j);
this.产品类别IDTextBoxX.Text = dsNew.Tables[0].Rows[0][0].ToString();

供应商IDTextBoxX.Text
= dsNew.Tables[0].Rows[0][1].ToString();
this.产品类别名称TextBoxX.Text = dsNew.Tables[0].Rows[0][2].ToString();
this.产品类别描叙TextBoxX.Text = dsNew.Tables[0].Rows[0][3].ToString();
}

最后双击窗体添加的代码如下

View Code
1 privatevoid FrmPD_Load(object sender, EventArgs e)
2 {
3 Result(Num);
4 using (SqlCommand cmd =new SqlCommand("select Count(*) from PD", con))
5 {
6 con.Open();
7 Count = Convert.ToInt32(cmd.ExecuteScalar());
8 con.Close();
9 }
10 }

到此该功能就全部实现了,当然有很多需要改进的地方,望读者帮助改进!!

posted on 2011-06-03 12:54  aolinwxfx  阅读(947)  评论(0编辑  收藏  举报

导航