网页与ACCESS数据库如何实现数据交互?
1打开access,单机菜单栏创建,选择表,单击列,选择下拉菜单中的字段类型,单机列名更改字段名称。
2添加完成后单击保存成testaccdb,
新建c#窗体程序。
3using System;
using SystemCollectionsGeneric;
using SystemComponentModel;
using SystemData;
using SystemDrawing;
using SystemLinq;
using SystemText;
using SystemWindowsForms;
using SystemDataOleDb;//access数据库相关
using SystemIO;//输入输出相关
public Form1()
{
try
{
InitializeComponent();
string[] sip = FileReadAllLines("D:\\database\\iptxt", EncodingDefault); //获得整个文本,每一行作为一个string,放到数组。
con = new OleDbConnection(@"Provider=MicrosoftACEOLEDB120;Data Source=\\" + sip[0] + "\\database\\testaccdb;");
conOpen();
MessageBoxShow("连接成功!");
}
catch (Exception exception)
{
MessageBoxShow(exceptionMessage);
}
}
4在D:\\database\\目录下新建iptxt,输入要连接的主机ip地址,若为本地则只需输入127001,路径可以自定义,和代码里对应即可
5若连接别的主机,需要将前面创建的testaccdb拷贝到该主机d盘下的database文件夹并共享改文件夹。若本地也一样。
6执行c#工程,若弹出“连接成功!”提示框则连接access数据库成功,否则弹出相应的错误信息。
过程:电脑将数据封装上一定的头部,转换成0,1等二进制信号在线路上传播给路由器,路由器根据路由表转发数据,直达目的主机,再拆去头部信息,将纯的数据交给应用程序。
c/s(客户机/服务器)有三个主要部件:数据库服务器、客户应用程序和网络。服务器负责有效地管理系统的资源,其任务集中于:
1数据库安全性的要求
2数据库访问并发性的控制
3数据库前端的客户应用程序的全局数据完整性规则
4数据库的备份与恢复
客户端应用程序的的主要任务是:
1提供用户与数据库交互的界面
2向数据库服务器提交用户请求并接收来自数据库服务器的信息
3利用客户应用程序对存在于客户端的数据执行应用逻辑要求
4网络通信软件的主要作用是,完成数据库服务器和客户应用程序之间的数据传输。
三层C/S结构是将应用功能分成表示层、功能层和数据层三部分。
解决方案是:对这三层进行明确分割,并在逻辑上使其独立。
在三层C/S中, 表示层 是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口 (GUI),操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层。检查的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。
功能层 相当于应用的本体,它是将具体的业务处理逻辑地编入程序中。表示层和功能层之间的数据交往要尽可能简洁。
数据层 就是DBMS,负责管理对数据库数据的读写。DBMS必须能迅速执行大量数据的更新和检索。现在的主流是关系数据库管理系统 (RDBMS)。因此一般从功能层传送到数据层的要求大都使用SQL语言。
在三层或N层C/S结构中,中间件 (Middleware) 是最重要的部件。所谓中间件是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。它的功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。其工作流程是:在客户机里的应用程序需要驻留网络上某个服务器的数据或服务时,搜索此数据的C/S应用程序需访问中间件系统。该系统将查找数据源或服务,并在发送应用程序请求后重新打包响应,将其传送回应用程序。随着网络计算模式的发展,中间件日益成为软件领域的新的热点。中间件在整个分布式系统中起数据总线的作用,各种异构系统通过中间件有机地结合成一个整体。每个C/S环境,从最小的LAN环境到超级网络环境,都使用某种形式的中间件。无论客户机何时给服务器发送请求,也无论它何时应用存取数据库文件,都有某种形式的中间件传递C/S链路,用以消除通信协议、数据库查询语言、应用逻辑与操作系统之间潜在的不兼容问题。
三层C/S结构的优势主要表现在以下几个方面:
1利用单一的访问点,可以在任何地方访问站点的数据库;
2对于各种信息源,不论是文本还是图形都采用相同的界面;
3所有的信息,不论其基于的平台,都可以用相同的界面访问;
4可跨平台操作;
5减少整个系统的成本;
6维护升级十分方便;
7具有良好的开放性;
8系统的可扩充性良好;
9进行严密的安全管理;
10系统管理简单,可支持异种数据库,有很高的可用性。
我这里有简单搭建思路给你参考。
1、在Ubuntu上我选择MySQL数据库。
2、后台语言选择我用nodejs你也可以选择java或者Python什么的(这主要用于把数据存入数据库用)
3、单片机与Ubuntu数据传输方式,我选择网络通讯。
这样连接思路就是,单片机通过串口把数据发到网络模块,网络模块与Ubuntu服务器用无线网络连接。
重点来了。Ubuntu系统的后台程序 使用WEBsocket监听一个端口,等待单片机的网络模块发来的数据。 这样完成数据传输链。
C/S模式和B/S各有其有点也各有其缺点,B/S模式在开发中需要考虑数据如何从客户端提交到服务器端,数据又如何返回到客户端,这些是B/S模式所特有的,在去年之前,开发B/S模式的程序,我都是利用form来交互数据,当我看到XML之后,发现XML是个好冬冬,有很多优点,有好的东西当然不能独享啦,想当年为了实现XML交互数据,几乎把网络翻了个遍。咚,一块砖头上来了。呵呵,废话少说,下面我们就进入正题。
B/S模式分为服务器端和客户端,客户端接受用户的请求,客户端向应用服务提出请求,应用服务从数据库服务中获得数据,应用服务将数据进行计算并将结果提交给客户端,客户端将结果呈现给用户。这样,我们就看到了数据从客户到服务器,经过服务器的处理再返回到客户端,由客户端软件(如IE)显示结果。
(以ASP教本语言为例,其它的语言一样哈。)
1.Form方式
Form方式是最基本的向服务器提交数据的方式。
testasp文件代码:
<%@ Language=VBScript %>
<%
ResponseExpires=-1
ResponseCharSet="UTF-8"
SessionCodePage="65001"
%>
<form name="frmTest" id="frmTest" action="testasp" method="POST">
<input name="name" id=" name" type="text" value="">
<input type="hidden" name="number" id="number" value="10">
<input type="submit" value="Submit" name="B1">
</form>
<%
dim intnumber
dim strname
if IsEmpty(Request("name")) then
strname =""
else
strname =Request("name")
end if
if IsEmpty(Request("number")) then
intnumber =0
else
intnumber =Request("number")
end if
非常麻烦,这是一些分布编程的问题。涉及到域,认证等等问题。
如果做商用程序,就用vc+ICE,或者所谓的webservice也是可以的,vc+isapi也行。
如果做一些民用程序,可以做一个数据网关,带消息服务就可以,然后靠消息协议来组织输入、输出。
在B上启动网关。
网关侦听端口
A上启用程序
连接上B的网关
A把数据通过socks发送到B上的网关。
B分析数据,然后调用本地EXE
(如果是别人的EXE,则有两种方法,如果是命令行的,就调用程序,然后重定向输出到磁盘文件,然后解析文件,发送结果回去,如果是普通带窗口的windows程序,需要操控这个exe的界面来实现了)
然后将结果发送给A。
OK!
首先不要管安卓端还是苹果端,现在一般都是响应式的app,你放到安卓或者苹果或者pc或者平板都是没有问题的。一般采用的是http接口通讯,或者socket连接。具体你要去查资料找Demo了。而且现在主流是采用html5开发或者混合开发了。所以最好是服务器提供appAPI接口,通过http访问服务器,获取数据,数据一般是json,或者xml,拿到后解析数据就可以了,然后再用UI框架或者其他框架或者自定义的UI封装下格式很漂亮了,至于cookie和session等,看你的习惯,网络验证和签名那些也自己看习惯,如果涉及到大数据,还需要引入第三方框架的,直接引入就可以了,不过推荐自己写,防止侵权。都是很通用的。
数据交换(Data Switching)是指在多个数据终端设备(DTE)之间,为任意两个终端设备建立数据通信临时互连通路的过程。数据交换可以分为:电路交换、报文交换、分组交换和混合交换。电路交换原理与电话交换原理基本相同。电路交换的缺点是电路的利用率低,双方在通信过程中的空闲时间,电路不能得到充分利用。
报文交换的原理是当发送方的信息到达报文交换用的计算机时,先存放在外存储器中,待中央处理机分析报头,确定转发路由,并选到与此路由相应的输出电路上进行排队,等待输出。一旦电路空闲,立即将报文从外存储器[1] 取出后发出,这就提高了这条电路的利用率。报文交换虽然提高了电路的利用率,但报文经存储转发后会产生较大的时延。分组交换也是一种存储转发交换方式,但与报文交换不同,它是把报文划分为一定长度的分组,以分组为单位进行存储转发。这就不但具备了报文交换方式提高电路利用率的优点,同时克服了时延大的缺点。
与电文交换相比,分组交换的优点是:
①在电文交换中,总的传输时延是每个节点上接收与转发整个电文时延的总和,而在分组交换中,某个分组发送给一个结点后,就可以接着发送下一个分组,这样总的时延就减小;
②每个节点所需要的缓存器容量减小,这有利于提高节点存储资源的利用率;
③传输有差错时,只要重发一个或若干个分组,不必重发整个电文,这样可以提高传输效率。分组交换的缺点是每个分组要附加一些控制信息,这会使传输效率降低,尤以长电文为甚。一般分组交换提供虚电路和数据报两种基本业务。[2]
混合交换
在一个计算机网络中同时采用电路交换和分组交换方式,称为混合交换。混合的方法是将传送信道分为不同的带宽,将一部分带宽分配给电路交换使用,而将另一部分带宽分配给分组交换使用。这里所谓的带宽就是指在一条传输信道上允许传输信息的频带宽度,即能从信道上通过信号的最高频率。
最简单的模式就是,
客户端接收键盘,鼠标等的消息,然后发送个服务器。
服务器收到这些消息后,发送给其他(指定或者所有的)客户端
就像你在WEB聊天室聊天一样。首先键盘输入了一大堆文字。然后按下“递交”按钮,于是客户端收集你填写的那些文字内容,然后发送给服务器。(也许里面有些色情暴力的字眼)
服务器在接收的这些消息后,发送给其他用户。(服务器可能和谐掉那些色情暴力的字眼,变成了XXOO)
网络游戏的客户端和服务器也是一样的道理
客户端纪录所有的消息指令,一般来说,如果该消息指令可能影响到其他人的,或者需要被其他人看到,这个消息就会需要被发送到服务器。
服务器处理这些消息进行处理,发送给其他相关的客户端。
直白点来说,服务器端与客户端分别处理哪些事情?你是老板,你说了算。
0条评论