跪求,dataset tables[]的当前行的行数!!!!

2024-11-17 15:49:35
推荐回答(1个)
回答1:

我想这段代码应该是写在了<上一页>或<下一页>的按钮里面的吧?
\\----------------------------------------------------------
DataSet sqla = new DataSet();这个DataSet应该写在函数的外面,应该是一个全局变量.
int i = 0;这个记录当前行的数值也应该写在函数外面,应该为一个全局变量.
\\----------------------------------------------------------
String str;
str1 = "Data Source=.\\SQLEXPRESS;Initial Catalog=JWInfo;Integrated Security=True";
SqlConnection conn = new SqlConnection(str1);
conn.Open();
str = "select 学号,姓名,性别,班级编号 From 学生信息";
SqlDataAdapter sql = new SqlDataAdapter(str, conn);
//DataSet sqla = new DataSet();
sql.Fill(sqla, "学生信息");

这段代码应该只要在Form_Load里面执行一次就可以了,不应该在每次点击按钮的时候都去取,DataSet是存在于内存中的.在页面关闭之前不会消失,里面的值也不会变(除非人为).
\\----------------------------------------------------------
\\如果是下一页,递增,并控制上限值.
i=i+1>sqla.Tables["学生信息"].Rows.Count - 1?i:i+1;
\\\\如果是上一页 递减,并控制下限值.
\\i=i-1<0?0:i-1;
textBox1.Text = sqla.Tables["学生信息"].Rows[i][0].ToString();
textBox2.Text = sqla.Tables["学生信息"].Rows[i][1].ToString();
textBox3.Text = sqla.Tables["学生信息"].Rows[i][2].ToString();
textBox4.Text = sqla.Tables["学生信息"].Rows[i][3].ToString();

这段代码才是在按钮里写的.应为i是一个全局变量,可以直接取i的值;但每次操作前需要将i的值递增或递减