用ajax实现的一行一行读取数据
很简单的用ajax实现的一行一行读取数据
上课老师让做的一个小例子,拿过来跟大家分享一下,要求:
1、页面无刷新实现读取数据库中的数据
2、每隔3秒一行一行的读取数据
实现过程
1、页面无刷新,毫无疑问要用的是Ajax技术,一个ScriptManager和UpdatePanel 就可以搞定
2、每隔3秒,要用到的就是Timer,设置Timer的Interval属性为"3000"就可以(单位是毫秒)
3、一行一行读取,刚开始的时候没想到要用什么只是先把数据库中的数据放到了一张表中
用的就是最简单的连接SQL数据库方法,并且就只用了一个页面
连接数据库中的代码:
1 SqlConnection con = new SqlConnection("Database=student;server=.;Integrated Security=True"); 2 string str = "select * from student"; 3 SqlDataAdapter ada = new SqlDataAdapter(str, con); 4 DataSet ds = new DataSet(); 5 ada.Fill(ds);
将数据读到表中我需要的就只是一行一行的读取了,我用的是Lable显示数据
1 this.Label1.Text = ds.Tables[0].Rows[i][0].ToString(); 2 this.Label2.Text = ds.Tables[0].Rows[i][1].ToString(); 3 this.Label3.Text = ds.Tables[0].Rows[i][2].ToString(); 4 this.Label4.Text = ds.Tables[0].Rows[i][3].ToString();
这几行代码也是十分简单就是将数据表中的数据一个一个赋值给了Lable,读取的i就是我声明的一个变量实现从第一行读取到最后一行的功能。因为我数据表比较简单,只有四列数据,所以就是这个样子
接下来只需要将Timer的Timer1_Tick中添加就OK了(WebForm1是我的项目名字)
protected void Timer1_Tick(object sender, EventArgs e) {
bind(); WebForm1.i = WebForm1.i + 1; }
等等,如果你只是这样还是不够的,你会发现页面会每隔3秒读取数据,但为什么每次页面显示的就只是最开始的那一行呢,原因是我们没有设置i,只是在最开始给了i=0这样虽然程序是每隔3秒执行一次,但是每次都会是i=0也就是表中的第一行数据,所以我们要把i声明成全局的静态变量