C#读取sql server数据的问题
建一个button按钮,点击按钮读取数据库中的数据代码如下:
  private void button2_Click(object sender, EventArgs e)
         {
             string sqlstr3 = "select top 2 * from table_2 order by 学号 asc";
             SqlCommand cmd1 = new SqlCommand(sqlstr3, sqlConnection1);
             sqlConnection1.Open();
             SqlDataReader reader= cmd1.ExecuteReader();
             if (reader.Read() == true)
             {
                 textBox1.Text = reader.GetString(0);
                 textBox2.Text = reader.GetString(1);
                 textBox3.Text = reader.GetString(2);
              }
             sqlConnection1.Close();
             reader.Close();
          }
只能输出一行数据,我想改一下,每点击一下button按钮顺序读取数据库中的数据,就是第一次点击输出第一行,第二次点击输出第二行,可以吗?
------解决方案--------------------while(reader.Read())
 {
 textBox1.Text = reader.GetString(0);
 textBox2.Text = reader.GetString(1);
 textBox3.Text = reader.GetString(2);
 }
------解决方案--------------------定义一个全局变量用来记录当前是第几条记录,然后用计数器定位到这条记录的下一条进行读取。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------对的,datareader里面的行要用循环读出来
------解决方案--------------------定义一个全局变量用来记录当前是第几条记录,然后用计数器定位到这条记录的下一条进行读取
------解决方案--------------------我认为最好的办法:
不需要每点一次都需要到数据库查一次.
1,定义点击次数int clickCount=0;
如果clickCount=0,则到资料库中查询所有需要的列表;
2,
C# code
if(clickCount>0&&数据不为空)
{
//通过LinQ过滤需要的资料在输出相应的资讯.
}
------解决方案--------------------
用DataTable
定义全局变量
int index=0;
DataTable dt=new DataTable();
private void button2_Click(object sender, EventArgs e)
{
   if(index<dt.Rows.Count)
   {
      textBox1.Text = dt.Rows[index][0];
      textBox2.Text = dt.Rows[index][1];
      textBox3.Text = dt.Rows[index][2];
      index++;
   }
}