用ASP.NET做一个简单的数据流动展示

本文详细介绍了如何在网页上实现实时数据展示,通过连接数据库,每两秒刷新一次数据,实现数据的滚动显示,包括数据库操作、数据读取、更新及页面绑定等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:连接数据库,在网页上显示一行数据,总共十列,每两秒刷新一次,刷新时数据往前流动(后一个单元格覆盖前一个单元格,最后一个单元格生成一个随机数)

新建项目:


9125154-c58514064035dfc8.png

删除:


9125154-81471e4bce58b0cc.png

重建:


9125154-ad6ae2002f1ee621.png

9125154-be2b8340bce4c4c7.png

放入工具:


9125154-234f22fd86090df0.png

9125154-13d1ebfc40a9be69.png

设置居中:


9125154-3c93b35535827c2c.png

9125154-0cdc50a612ef63a1.png

新建数据库:


9125154-2ef0e6d26c6a0aa6.png

9125154-0d10a418ae3530d6.png

新建表:


9125154-8206ff2141609125.png

建表之后更新数据库:


9125154-2bd4becfb6eef448.png
9125154-9bb286e248c8b27d.png

更新好了之后点击刷新:


9125154-763b6a16e91f666a.png

刷新后:


9125154-3b6838b43e82225c.png

右键randomT,在菜单里选择显示表数据,进入如下窗口:
手动键入第一行数据,再点击第二行任一格,完成第一行数据的添加:


9125154-f23ba2eac6e5cd86.png

右键mydb.mdf:


9125154-e963e450b0eb16f9.png

点击属性,查看并复制连接字符串:


9125154-9542bc77ec9758b1.png

到web.config中使用:


9125154-f9ab3e90ae82c2c2.png

改成相对路径:


9125154-61462ae5db1b5083.png

编写Default.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        showdata();
    }

    protected void showdata()
    {
        string connstr = ConfigurationManager.ConnectionStrings["connstr"].ToString();//取出字符串
        SqlConnection myconn = new SqlConnection(connstr); //字符串对象化
        myconn.Open();//打开数据库

        string cmdstr = "select * from randomT";
        SqlDataAdapter myda = new SqlDataAdapter(cmdstr, myconn);//sql字符串对数据库处理
        DataSet myds = new DataSet();
        myda.Fill(myds);//处理完的数据fill到myds

        GridView1.DataSource = myds;
        GridView1.DataBind();
        myds.Dispose();
        myda.Dispose();
        myconn.Close();
    }
}

到此,运行,显示数据:


9125154-9e9bb41829877b1d.png





设置属性:


9125154-8ae9499422343da9.png

双击生成事件:


9125154-6203b144ac6f361f.png

最终编写Default.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void showdata()
    {
        string connstr = ConfigurationManager.ConnectionStrings["connstr"].ToString();//取出字符串
        SqlConnection myconn = new SqlConnection(connstr); //字符串对象化
        myconn.Open();//打开数据库

        string cmdstr = "select * from randomT";
        SqlDataAdapter myda = new SqlDataAdapter(cmdstr, myconn);//sql字符串对数据库处理
        DataSet myds = new DataSet();
        myda.Fill(myds);//处理完的数据fill到myds

        SqlCommand mycmd = new SqlCommand(cmdstr,myconn);
        SqlDataReader mydr = mycmd.ExecuteReader();//读一整行的数据,注意在使用另外一个Execute的时候要将此关掉,不然会报错
        int fieldCount = mydr.FieldCount;//得到列数

        int[] valueArray = new int[fieldCount];//用来存列值
        string[] fieldNames = new string[fieldCount];//用来存列名

        for (int i = 0; i < fieldCount; i++)//获取列名
        {
            fieldNames[i] = mydr.GetName(i).ToString();
        }
        for (int i = 0; i < fieldCount; i++)//获取列值
        {
            valueArray[i] = Convert.ToInt32(myds.Tables[0].Rows[0][i].ToString());
        }
        mydr.Close();//解放用不到的资源,避免报错

        for (int i = 1; i < fieldCount - 1; i++)//从后往前覆盖
        {
            valueArray[i] = valueArray[i + 1];
        }
        Random rd = new Random();
        valueArray[fieldCount - 1] = rd.Next(0, 101);

        //更新数据库
        for(int i = 1; i <= fieldCount - 1; i++)
        {
            string updateStr = @"update randomT set " + fieldNames[i] + " = " + valueArray[i] + "where id=1";
            mycmd.CommandText = updateStr;
            mycmd.ExecuteNonQuery();
        }

        GridView1.DataSource = myds;
        GridView1.DataBind();
        myds.Dispose();
        myda.Dispose();
        myconn.Close();
    }

    protected void Timer1_Tick(object sender, EventArgs e)
    {
        showdata();
    }
}

实现每两秒刷新数据:


9125154-d6678b6901f0172a.png

9125154-5afda388e4612c8a.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌川江雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值