
ASP比较麻烦,或者说不能完全做到,你想把ASP页面做成QQ那样及时通信功能。肯定不行。(例如,你发条信息给你的好友,你的好友会立即收到此信息。)但是可以做成相似的东西出来。
你可以这样想。页面怎样及时显示数据库里跟新的数据。你肯定需要刷新页面才能看到。是不是?
换句话说:我要是能实现,页面能够自动刷新。当然是这样的思路。但是还是有个问题。ASP怎么能及时刷新呢?当有新数据添加时就自动刷新页面呢?这个ASP是办不到的。那我们怎么解决这个问题呢?我们可以试试下面的方法:
折中的办法:这个要用到javascript。比如,定时为1秒中自动刷新页面。这里你要注意,你设置刷新的时间越小也就是说,你网页刷新的越频繁,对你服务器的负载是最大的。你本地测试到时可以试试。真正用到web引用上,是不建议的。所以说:ASP不能完全做成及时显示的工能。如果真想做,只能换其他语言了。例如C,C++。然后再配合web语言。以达到效果。
例如,现在某些产品已经做得很好了。53kf。就是你说的那种功能。不知道他们提不提供源码。你可以去研究研究。
首先服务器上要加载缓存,其次用定时器+ajax方法,去取某个web服务或者某个ashx等,返回最后一次更新数据的时间,和当前记录的时间比较,如果有不同再去更新整个数据集。
想楼上说的直接用AJAX来定时刷新,Timer读取数据库中的数据都是白白耗费资源,还是自己建立一个缓存依赖比较好。
另外,虚机团上产品团购,超级便宜
页面本身是不具备保存历史数据的功能的,需要借助其它手段来实现,常用方法如下:
异步更新页面。这种方法实际上页面是没有刷新的,通过AJAX导步获取信息来更新页面,这样可以保留原页面需要保留的数据。一些网站的发表评论后,评论内容更新,用的就是这个方法。
使用COOKIE保存。把需要保存的数据存储到COOKIE中,页面更新时,读取COOKIE渲染到页面上。比较常见的如:登录框记录用户名,下次登录无须重新输入。但COOKIE存储的数据量有限,不适合大的数据存储。
服务器端保存数据。与COOKIE保存类似,只不过内容是保存在服务器端,利用会话机制在页面更新时从服务器读取内容重新渲染。这是一种常见的而保险的方法。像一些文本编辑器,保存草稿等,就是通过这样的方式实现的
在b窗体创建一个带参数的构造函数 参数为a窗体
在a窗体触发事件时实例b窗体 将a窗体作为参数传入到窗体的实例
此时a窗体和b窗体就产生了关联
代码如下:
a窗体:
public partial class Form1: Form
{
public Form1)
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2this);
form2Show();
}
}
b窗体:
public Form2()
{
InitializeComponent();
}
Form1 form1 = new Form1();
public Form2(Form1 form1)
{
InitializeComponent();//必须写 而且要卸载赋值的前面
thisform1 = form1;
thistextBox1Text = form1Controls["txtMsg"]Text;
}
private void button1_Click(object sender, EventArgs e)
{
form1Controls["txtMsg"]Text = thistextBox1Text;
thisClose();
}
这样单击a窗体的按钮打开b窗体,在b窗体显示a窗体文本框的内容。进行修改,点击b窗体中的修改按钮,回到a窗体,同时a窗体中文本框中值得到了修改。
在QT的widget中用tableview显示sqlite数据库表中的内容。
假设有数据库文件testdb,有表table(id integer, name nvarchar(20),age integer),且有数条数据。
首先用QTcreator创建一个基于Widget类的窗口,再拖一个tableview到widget中,保存,然后按照如下方法进行:
1在widgeth中增添头文件:QtSql/qsqlh、QtSql/QsqlDatabase、QtSql/QsqlQuery、QtSql/QsqlQueryModel
2在pro工程文件中添加:QT+=sql
3在widgetcpp中widget的构造函数中添加如下代码:
QsqDatabase db = QsqlDatabase::addDatabase("QSQLITE");
dbsetDatabaseName("testdb");
if(!dbopen())
{
//错误处理
}
static QSqlQueryModel model = new QSqlQueryModel(ui->tableview);
model->setQuery(QString("select from table"));
model->setHeaderData(0,Qt::Horizontal,QObject::tr("编号"));
model->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));
model->setHeaderData(2,Qt::Horizontal,QObject::tr("年龄"));
ui->tableview->setModel(model);
db->close();
这样之后,table表里的内容就会显示到tableview中了。
ajax的原理就是你在一个页面上想要打开另外一个页面,ajax可以帮你从后台打开,实现实时更新可以用ajax获取另外一个网页,而另外一个网页可以是一个调用数据库信息的网页,那么返回回来的东西就是数据库调用出来的内容,然后你可以设置js几秒钟执行一次ajax 达到实时显示的效果。
以上就是关于ASP中如何即时的显示数据库中的更新数据全部的内容,包括:ASP中如何即时的显示数据库中的更新数据、C# web页面如何做到数据实时更新、js怎么实现及时更新数据库的数据展现在前台页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)