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

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

新建项目:


img_df7896f7f963639b832e4285b2b14e11.png

删除:


img_1e28c3d1dde0406d09b7e9f8a20a10a4.png

重建:


img_47960d6be908a67a8d6acb28d5c801af.png

img_ce6f143c3093491b5fefbd341b52d69d.png

放入工具:


img_052dbe7a20fcd5864c3e26b29ba28df0.png

img_dd707d195f66b944d7216f2af851fdc7.png

设置居中:


img_a91bd47a473d37f36d8401a47efa49de.png

img_04883e6817f1609c211cb04599a43869.png

新建数据库:


img_18bf4e38dda854c1ed139ecf173df6c4.png

img_ec45edcbf44b9bf8542fa8a887be04a7.png

新建表:


img_84d21fc80c881e5a5ece2af26441faff.png

建表之后更新数据库:


img_68c2096c61e41bb450dc924a914c10bd.png
img_6a0dd481ee23d0295ab87f608f0e2d32.png

更新好了之后点击刷新:


img_82a42f8e4c34a0245f023f754f8fbb16.png

刷新后:


img_e20a2ef77532168310cb074d91e944c3.png

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


img_b93a1a66e561eeda8d5a2e9a69e163a3.png

右键mydb.mdf:


img_21b36915097708c44ecbbcfe18298c55.png

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


img_aa5a6ef064a150186d90a1dd6d9bb5b3.png

到web.config中使用:


img_6a10d75f59ca8b645551f4099f283335.png

改成相对路径:


img_3f55b25a82ef9e6706e40abaf2953acf.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();
    }
}

到此,运行,显示数据:


img_790456766e372b71d75503a512dc064c.png





设置属性:


img_7f0d75a81302a6b9649b12ebe84cb413.png

双击生成事件:


img_298b318c978d923b9668bc87d5fdaf52.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();
    }
}

实现每两秒刷新数据:


img_c8af7261d3ca2d0752df5079228664dc.png

img_881376536cd0bf29502e89aac152e725.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值