通過為SqlDataAdapter類傳入select語句,將其結果通過Fill方法以行的形式添充到DataSet結果集中,然後以上下滾動的形式呈現給用戶。 主要程序程序代碼如下。 主要通過SqlDataAdapter類的Fill方法,將查詢結果中的數據有選擇的一次提取出一條添充到dataSet結果集中。
publicDataSetdsResult(int currentIndex)
{
int pageSize = 1;
string orderSQL = "SELECT * FROM t_People ORDER BY tb_PID";
SqlDataAdapter adapter = new SqlDataAdapter(orderSQL, ConDB());
DataSetdataSet = newDataSet("t_People");
adapter.Fill(dataSet, currentIndex, pageSize, "t_People");
returnDataSet;
}
鏈接:ConDB()方法請參見21.3.1節。
public int Max()
{
SqlCommandcmd = new SqlCommand("select count(*) from t_people", ConDB());
return int.Parse(cmd.ExecuteScalar().ToString());
}
窗體加載事件,通過數據操作類(ClsDBControl)內的Max方法獲得總行數用於初使化變量(LastNum)程序代碼如下:
private void FrmSelect_Load(object sender, EventArgs e)
{
ClsDB.ClsDBControl CDBLast=new OptDB.ClsDB.ClsDBControl();
LastNum = CDBLast.Max();
}
實現顯示“第一條”信息的功能程序代碼如下:
private void button1_Click(object sender, EventArgs e)
{
i = 0;
ClsDB.ClsDBControl cdb = new OptDB.ClsDB.ClsDBControl();
DataSetdsNew=cdb.dsResult(i);
this.textBox1.Text = dsNew.Tables[0].Rows[0][0].ToString();
this.textBox2.Text = dsNew.Tables[0].Rows[0][1].ToString();
this.textBox3.Text = dsNew.Tables[0].Rows[0][2].ToString();
}
實現顯示“上一條”信息的功能程序代碼如下:
private void button2_Click(object sender, EventArgs e)
{
i -= 1;
if (i >= 0)
{
ClsDB.ClsDBControl cdb = new OptDB.ClsDB.ClsDBControl();
DataSetdsNew = cdb.dsResult(i);
this.textBox1.Text = dsNew.Tables[0].Rows[0][0].ToString();
this.textBox2.Text = dsNew.Tables[0].Rows[0][1].ToString();
this.textBox3.Text = dsNew.Tables[0].Rows[0][2].ToString();
}
else
{
i += 1;
MessageBox.Show("這已是第一條信息");
}
}
實現顯示“最後一條”信息的功能程序代碼如下:
private void button4_Click(object sender, EventArgs e)
{
ClsDB.ClsDBControl cdb = new OptDB.ClsDB.ClsDBControl();
DataSetdsNew = cdb.dsResult(LastNum-1);
this.textBox1.Text = dsNew.Tables[0].Rows[0][0].ToString();
this.textBox2.Text = dsNew.Tables[0].Rows[0][1].ToString();
this.textBox3.Text = dsNew.Tables[0].Rows[0][2].ToString();
&nbs