ASP+ACCESS基于WEB车辆管理系统

3.1  系统需求分析

该过程是个不断认识不断细化的过程。这里所要完成的工作是深入描述软件的功能和性能,确定软件的设计限制和软件同其他系统元素的接口细节,从而奠定软件的开发基础。

  1. 性能需求:该系统中,管理员模块只有管理人员才能对其进行操作,一般的登陆用户无权操作,系统管理人员要进行身分验证才能进入界面操作。登陆驾驶员也要进行身份验证方可进行操作操作。
  2. 功能需求:我们设计的系统要完成的功能模块如下:

一: 车辆管理(车辆维修管理,车辆报废管理等)

二: 车辆管理(车辆建立,车辆查询,车辆删除,车辆变更查询等.)

三: 车辆运营管理(车辆运营表,车辆运营查询,清空车辆运营表)

四:驾驶员管理(驾驶员管理,驾驶员查询等)

五:耗材管理(对于油,车的耗材类管理)

六:计划管理(训练,保养,维修等预定的计划)

七:系统维护(系统备份,系统还原,系统检查)

  1. 环境需求:客户端应有IE或其它浏览器,服务器端应有Windows2000,WindowsNT,或Windows98 ,服务器软件应有pws或IIS,硬件要求386以上的计算机。
  2. 界面需求:本软件是面向大众,界面友好,操作简单灵活,根据界面上的提示便可完成一系列动作。

3.3  系统结构

该系统的整个结构图如下所示:

各功能模块是相互独立的,一个模块的内部与另一个模块的内部是不相关的,每个模块留出一个接口供其他模块调用。或者使用POST方式进行表单提交,用?后面带函数和参数的方式,进行模块与模块间的信息传递。有部分模块是通用的,比如连接数据库模块,它需要经常用到,所以独立出来是最好的选择。

4.1 登陆模块

本模块所要实现在功能是重要的,对于用户来说,登陆前后的区别在于:登陆之前不是本的成员,无权操作,无权浏览;之后有权查询也有权操作。

用户提交信息用HTML表单完成,需文件Index.asp。系统自动登陆用ASP操作数据库完成,需要连接文件User_Login.asp。

用户在Index.asp文件中输入个人信息,提交到user_login.asp文件。并由这个ASP文件进行数据库动作,根据不同的动作结果,系统将作出不同的信息反馈给用户。

这是登陆处理模块的中心,user_login.asp文件很简单:直接调用其中的登陆函数action进行动作,结构如图所示。

     登陆程序被调用后,先检查该用户是否已经登陆过,按是否登陆进行分枝选择:对已经是登陆的用户显示相应信息,或将新用户加入的数据库中,即为该用户登陆。

判断条件是通过action函数实现的,该函数利用提取的表单字段值对数据库进行查询。如果查询到结果。则表明该用户经在数据库中,即该用户是登陆了。如果记录集为空则表明该用户是非法登陆。

编辑修改管理员是通过user_login.asp来实现的,这个方法是模块的中心,也比较复杂,其结构如图所示。

车辆查询登记:

代码分析:

<% 

       If request("action") = "save" Then

              Call save()

       ElseIf request("action") = "edit" Then

              Call edit()

       ElseIf request("action") = "del" Then

              Call del()

       ElseIf request("action") = "outlist" Then

              Call outlist()

       ElseIf request("action") = "saveoutlist" Then

              Call saveoutlist()

       Else

              Call list()

       End If 

End Sub

Sub list()%>

<script language="javascript">

function browse(id){location.href='<%=filename%>?action=edit&mode=browse&id='+id;}

function del(id){if(confirm("删除车辆信息,将会删除与其相关的所有信息\n确实要删除吗?")){location.href='<%=filename%>?action=del&id='+id;}}

function edit(id){location.href='<%=filename%>?action=edit&mode=update&id='+id;}

</script>

<%

sql="select * from [车辆基本特征] where Id >0"

If Request("zd")<>"" then

       sql = sql & " and " & Request("zd") & " = '" & Request("keyword") & "'"

End if

If Request("order") = "" Then

       sql = sql & " order by id desc"

Else

       If split(Request("order"),"|")(1) = "1" Then

              sql = sql & " order by "&split(Request("order"),"|")(0)&" asc"

       Else

              sql = sql & " order by "&split(Request("order"),"|")(0)&" desc"

       End If

End If

'================================

'新建一个类

'================================

Set jumbotpage=new ShowMorePage

jumbotpage.getconn=conn

jumbotpage.getsql = sql

jumbotpage.pagesize=pagesize

set rs=jumbotpage.getrs()

%>

<table width=100% cellspacing="1" cellpadding="5" align=center class="bg_tablemain">

       <tr>

              <td><%jumbotpage.showpage()%></td>

       </tr>

</table>

<table width=100% cellspacing="1" cellpadding="5" align=center class="bg_tablemain">

       <tr class="bg_tabletop" align=center>

              <td width=* align="center"><b><%Call OrderBy("车号","车号")%></b></td>

            <td width=* align="center"><b><%Call OrderBy("厂牌型号","厂牌型号")%></b></td>

            <td width=* align="center"><b><%Call OrderBy("车辆类型","车辆类型")%></b></td>

            <td width=* align="center"><b><%Call OrderBy("车辆颜色","车辆颜色")%></b></td>

            <td width=* align="center"><b><%Call OrderBy("所属单位","所属单位")%></b></td>

              <td width=* align="center"><b>操作</b></td>

       </tr>

<%

If rs.recordcount > 0 Then

       for i=1 to jumbotpage.GetCurPageNum '当前页的记录数目

              %>

       <tr class="bg_tablebody" align=center>

              <td><a href=Menu_Vehicle_Circumstance_Introduction.asp?action=edit&mode=browse&id=<%=rs("Id")%>><% =rs("车号")%></a></td>

              <td><% =rs("厂牌型号")%></td>

              <td><% =rs("车辆类型")%></td>

              <td align="center"><% =rs("车辆颜色")%></td>

              <td><% =rs("所属单位")%></td>

              <!--#include file="Inc/Menu_Operate.asp"-->

       </tr>

              <%

              rs.movenext

       Next

End If

%>

</table>

<table width=100% cellspacing="1" cellpadding="5" align=center class="bg_tablemain">

       <tr>

              <td><%jumbotpage.showpage()%></td>

       </tr>

</table>

<form action="<%=filename%>?action=list" method=get name="thisform" onSubmit="return Validator.Validate(this,2)">

<table width=100% cellspacing="1" cellpadding="5" align=center class="bg_tablemain" id='searchpage'>

<tr class="bg_tabletop" align=center>

<td colspan="2"><b>查询记录</b></td>

</tr>

<tr class="bg_tablebody">

<td width="150" align=right>字段:<select size="1" name="zd">

<option value="" selected>==全部==</option>

<option value="车号" <%If Request("zd") = "车号" Then%>selected<%End If%>>车号</option>

<option value="车辆类型" <%If Request("zd") = "车辆类型" Then%>selected<%End If%>>车辆类型</option>

<option value="所属单位" <%If Request("zd") = "所属单位" Then%>selected<%End If%>>所属单位</option>

</select></td>

<td>= <input type=text name="keyword" size=25 value='<% =Request("keyword")%>'></td>

</tr>

</table>

<table width=100% cellspacing="1" cellpadding="5" align=center class="bg_tablemain">

<tr class="bg_tablebottom">

<td align=center><input title='搜索' type="image" src="Images/btn/Search1.gif" class='picbutton'></td>

</tr>

</table>

</form>

<%End Sub%>

<%

Sub del()

       Set rs = conn.execute("select * from [车辆基本特征] where id=" & Request("id"))

       ch = rs("车号")

       Set rs = Nothing

       'conn.execute("delete from [技术检查状态记录] where [车号]='" & ch & "'")

       'conn.execute("delete from [车辆保险] where [车号]='" & ch & "'")

       'conn.execute("delete from [事故记录] where [车号]='" & ch & "'")

       'conn.execute("delete from [车辆变更登记] where [车号]='" & ch & "'")

       'conn.execute("delete from [油料登记] where [车号]='" & ch & "'")

       'conn.execute("delete from [车辆保险] where [车号]='" & ch & "'")

       'conn.execute("delete from [派车登记] where [车号]='" & ch & "'")

       'conn.execute("delete from [车辆使用成本] where [车号]='" & ch & "'")

       'conn.execute("delete from [车辆使用杂费] where [车号]='" & ch & "'")

       'conn.execute("delete from [车辆年审情况] where [车号]='" & ch & "'")

       conn.execute("delete from [车辆基本特征] where id=" & Request("id"))

       Response.write "<script>history.go(-1);</script>"

End Sub

%>

<%Sub edit()

Dim readonly,mode,id

mode=Request("mode")

id=Request("id")

Set rs = server.CreateObject ("Adodb.recordset")

sql="select * from [车辆基本特征]"

If mode="update" Then

       sql = sql & " where id=" & id

       readonly=""

ElseIf mode="insert" Then

       readonly=""

Else

       sql = sql & " where id=" & id

       readonly="readonly"

End If

rs.open sql,conn,3,3

%>

<form action='<%=filename%>?action=save&mode=<%=mode%>&id=<%=id%>' method=post name='thisform' onSubmit='return Validator.Validate(this,2)'>

<div id='printpage'>

<table width='100%' cellspacing='1' cellpadding='5' align=center class='bg_tablemain'>

<tr class="bg_tablebody">

<td width="19%" align=right>车号:</td>

<td width="31%"><input type=text name=ch size=12 value="<%=FormatValue1(mode,rs("车号"))%>" <%=readonly%> dataType="CarNumber" msg="车号不正确"> <%If mode <>"browse" Then%><font color="#FF0000">*</font>(格式:军A-00000)<%End If%></td>

<td width="19%" align=right>编配日期:</td>

<td width="31%"><input type=text name="bprq" size=12 value="<%=FormatValue1(mode,rs("编配日期"))%>" <%=readonly%> dataType="Date" msg="日期格式为“<%=Date()%>”">

<%If mode<>"browse" Then%>

  <input type="button" onClick="SelectDate('bprq')" value="选择">

  <input type="button" onClick="CancelDate('bprq')" value="取消">

<%End If%>

</td>

</tr>

<tr class="bg_tablebody">

<td align=right>厂牌型号:</td>

<td><div style="position:absolute;width:0px;height:0px;overflow:visible;">

<div style="position:absolute;top:21px;left:0px;visibility:hidden;text-align:left;overflow:visible;" id=cpxhdiv>

<iframe marginWidth=0 marginHeight=0 src="Select_Option.asp?tablename=车辆基本特征&itemname=厂牌型号&idname=cpxh" frameBorder=0 width=180 scrolling=yes height=60></iframe>

</div>

</div>

<div style="visibility:visible;"><input name="cpxh" type="text" id="cpxh" value="<%=FormatValue1(mode,rs("厂牌型号"))%>" size=25 <%=readonly%> onClick="ShowOrHidden('cpxhdiv')"></div>

</td>

<td align=right>车辆类型:</td>

<td><div style="position:absolute;width:0px;height:0px;overflow:visible;">

<div style="position:absolute;top:21px;left:0px;visibility:hidden;text-align:left;overflow:visible;" id=cllxdiv>

<iframe marginWidth=0 marginHeight=0 src="Select_Option.asp?tablename=车辆基本特征&itemname=车辆类型&idname=cllx" frameBorder=0 width=120 scrolling=yes height=60></iframe>

</div>

</div>

<div style="visibility:visible;"><input name="cllx" type="text" id="cllx" value="<%=FormatValue1(mode,rs("车辆类型"))%>" size=12 <%=readonly%> onClick="ShowOrHidden('cllxdiv')"></div>

</td>

</tr>

<tr class="bg_tablebody">

<td align=right>总金额:</td>

<td><input type=text name=zje size=10 value="<%=FormatValue1(mode,rs("总金额"))%>" <%=readonly%>>

  (万元)</td>

<td align=right>车架号:</td>

<td><input type=text name=cjh size=25 value="<%=FormatValue1(mode,rs("车架号"))%>" <%=readonly%>></td>

 </tr>

 <tr class="bg_tablebody">

<td align=right>发动机号:</td>

<td><input type=text name=fdjh size=25 value="<%=FormatValue1(mode,rs("发动机号"))%>" <%=readonly%>></td>

<td align=right>总质量:</td>

<td><input type=text name=zzl size=8 value="<%=FormatValue1(mode,rs("总质量"))%>" <%=readonly%>>

  (吨)</td>

 </tr>

 <tr class="bg_tablebody">

<td align=right>核定载质量:</td>

<td><input type=text name=hdzzl size=6 value="<%=FormatValue1(mode,rs("核定吨位"))%>" <%=readonly%>>

  (吨)</td>

<td align=right>核定座位:</td>

<td><input type=text name=hdzw size=6 value="<%=FormatValue1(mode,rs("核定座位"))%>" <%=readonly%>>

  (人)</td>

 </tr>

 <tr class="bg_tablebody">

<td align=right>车辆颜色:</td>

<td colspan="3"><div style="position:absolute;width:0px;height:0px;overflow:visible;">

<div style="position:absolute;top:21px;left:0px;visibility:hidden;text-align:left;overflow:visible;" id=csysdiv>

<iframe marginWidth=0 marginHeight=0 src="Select_Option.asp?tablename=车辆基本特征&itemname=车辆颜色&idname=csys" frameBorder=0 width=60 scrolling=yes height=60></iframe>

</div>

</div>

<div style="visibility:visible;"><input name="csys" type="text" id="csys" value="<%=FormatValue1(mode,rs("车辆颜色"))%>" size=8 <%=readonly%> onClick="ShowOrHidden('csysdiv')"></div>

</td>

</tr>

<tr class="bg_tablebody">

<td align=right>所属单位:</td>

<td colspan="3"><div style="position:absolute;width:0px;height:0px;overflow:visible;">

<div style="position:absolute;top:21px;left:0px;visibility:hidden;text-align:left;overflow:visible;" id=ssdwdiv>

<iframe marginWidth=0 marginHeight=0 src="Select_Option.asp?tablename=车辆基本特征&itemname=所属单位&idname=ssdw" frameBorder=0 width=100 scrolling=yes height=60></iframe>

</div>

</div>

<div style="visibility:visible;"><input name="ssdw" type="text" id="ssdw" value="<%=FormatValue1(mode,rs("所属单位"))%>" size=12 <%=readonly%> onClick="ShowOrHidden('ssdwdiv')"> <%If mode <>"browse" Then%><font color="#FF0000">*</font>(如:业务科...)<%End If%></div>

</td>

</tr>

<tr class="bg_tablebody">

<td align=right>备注:</td>

<td colspan="3"><input type=text name=bz size=40 value="<%=FormatValue1(mode,rs("备注"))%>" <%=readonly%>></td>

</tr>

<%If mode <>"insert" Then%>

<tr class="bg_tablebody">

<td align=right>车辆照片:</td>

<td colspan=5><%If mode<>"insert" Then%><img id='crzp' src="<%=rs("车辆照片")%>" border="1" width="320" height="240"><%Else%><img src="picture/blank.gif" border="1" width="300" height="180"><%End If%></td>

</tr>

<%End If%>

<%If mode="update" Then%>

<tr class="bg_tablebody" id=adv1 style="display:">

<td align=right>车辆照片:</td>

<td colspan=5><iframe marginWidth=0 marginHeight=0 src="Pic_upload.asp?path1=Vehicle&path2=crzp&fileid=<%=rs("id")%>" frameBorder=0 width=400 scrolling=no height=20></iframe></td>

</tr>

<%End If%>

</table>

</div>

<table width=100% cellspacing="1" cellpadding="5" align=center class="bg_tablemain">

<tr class="bg_tablebottom">

<td align=center><!--#include file="Inc/Btn_Bttm.asp"-->

&nbsp;&nbsp;

<%If mode="update" Then%>

<input id=advcheck name="showit" type=checkbox value=1 οnclick=showpic() checked>

<span id=advance1>相关图片上传</span>

<%End If%>

3.车辆统计查询:

代码分析:

<%

dim total(100,2)

Set rs = server.CreateObject ("Adodb.recordset")

sql="select [所属单位] from [车辆基本特征] group by [所属单位]"

rs.open sql,conn,3,3

j = 0

hj = 0

If rs.eof Then

       Response.write "单位无车辆"

Else

       do while not rs.eof

              j = j + 1

              sybm = rs("所属单位")

              total(j,2) = sybm

              number = 0

              sql ="select * from [车辆基本特征] where [所属单位]='"&sybm&"'"

              Set rss = server.CreateObject ("Adodb.recordset")

              rss.open sql,conn,3,3

              If not rss.eof Then

                     number = rss.recordcount

              End If

              total(j,1)=number

              hj = hj + number

              Rs.movenext

       Loop

       CountMy = hj

       total_no=j

       all_width = total_no * 100 + 30

       total_width = total_no * 100

       Call table1(total,20,34,all_width,300,total_width)

       Set rs = nothing

       Set rs = server.CreateObject ("Adodb.recordset")

       sql="select [车辆类型],count(车辆类型) from [车辆基本特征] group by [车辆类型]"

       rs.open sql,conn,3,3

       str = ""

       n = 0

       do while not rs.eof

              If n > 0 Then str = str & ","

              str = str & rs(0) & ":" & rs(1) & "辆"

              n = n + 1

              Rs.movenext

       Loop

Set rs = nothing

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/14416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS7离线安装Nginx

目录 1. 安装gcc2. 安装g3. 安装openssl4. 安装pcre5. 安装zlib6. 安装Nginx7. 启动nginx8. 开放80端口9. 访问测试10. 设置开机自启 Nginx离线安装需要依赖gcc、g环境&#xff0c;安装前要先检查linux系统中是否自带gcc和g&#xff0c;如果没有就需要先进行安装。 然后再安装o…

查看gpu

## 查看gpu信息 if_cuda torch.cuda.is_available() print("if_cuda",if_cuda)gpu_count torch.cuda.device_count() print("gpu_count",gpu_count)

【MySQL精通之路】InnoDB(4)-架构图

下图显示了构成InnoDB存储引擎体系结构的内存和磁盘结构。有关每个结构的信息 请参阅“内存中的InnoDB结构”和“磁盘上的InnoDB结构”。

Jmeter+prometheus+grafana性能测试

文章目录 Jmeterprometheusgrafana性能测试背景目标设计思路原理案例启发 Jmeterprometheusgrafana性能测试 背景 ​ 在现代社会中&#xff0c;人们对于应用程序的响应速度和性能体验提出了越来越高的要求。无论是电子商务网站、社交媒体平台还是企业级软件系统&#xff0c;都…

tomcat请求数据解析过程

前面提到tomcat请求处理的io交互过程&#xff0c;现在开始看下经过io交互后tomcat是怎么处理请求数据的。首先到AbstractProtocol.java中的process方法&#xff0c;注意这个方法是在tomcat线程池分配的线程调用的。生成用来对请求字节流数据进行解析的Http11Processor。 public…

6款网站登录页(附带源码)

6款网站登录页 效果图及部分源码123456 领取源码下期更新预报 效果图及部分源码 1 部分源码 <style>* {margin: 0;padding: 0;}html {height: 100%;}body {height: 100%;}.container {height: 100%;background-image: linear-gradient(to right, #fbc2eb, #a6c1ee);}.l…

[实用技巧]Unity中,Sprite和SpriteRenderer的实用小贴士

在使用Unity开发2D游戏时&#xff0c;Sprite和SpriteRenderer组件提供了许多功能&#xff0c;可以帮助你提高开发效率和游戏质量。以下是一些使用技巧&#xff0c;可以帮助你事半功倍哦&#xff1a; 1. 使用Sprite Atlas 为了优化性能和内存使用&#xff0c;建议将多个Sprite…

TCP/IP 协议

定义:网络通讯协议 应用层:应用程序之间相互沟通的层 传输层:提供了数据传送&#xff0c;应用程序之间的通信服务网络互连层:负责提供基本的数据封包传送功能&#xff0c;让每一块数据包都能够达到目的主机。网络接口层:接收数据并进行传输 IP地址分类 lpv4(地址已经枯竭)四段数…

ipad协议849最新版

ipad协议其实就是模拟ipad端微信的人工操作&#xff0c;跟微信服务器通信。协议的关键点主要是PB协议、mmtls、06加密算法、rqt算法、aes加密、rsa加密等&#xff0c;只要把这些点拿下&#xff0c;就可以模拟官方微信的所有功能了&#xff0c;还可以模拟android、pc、mac端的登…

flutter开发实战-美颜前后对比图效果实现

flutter开发实战-美颜前后对比图效果实现 最近使用代码中遇到了图片前后对比&#xff0c;这里使用的是CustomClipper来实现 一、CustomClipper 我们实现CustomClipper子类来实现美颜后的图片裁剪功能 getClip()是用于获取剪裁区域的接口&#xff0c;由于图片大小是6060&am…

Flash与EEPROM

文章目录 1. 分类2. 工作原理2.1 擦除操作2.2 写入操作 3. 参考资料 1. 分类 2. 工作原理 在存储数据之前&#xff0c;先擦除存储区域&#xff08;写成全1&#xff09;&#xff0c;进行存储时&#xff0c;将对应位写为0。 注&#xff1a;这里编程不能反向&#xff0c;若写错了…

golang 例子编写一个简单的评论接口

在Go语言中编写一个简单的评论接口&#xff0c;我们可以使用标准库net/http来创建HTTP服务器&#xff0c;并假设我们将评论数据存储在一个内存中的映射&#xff08;map&#xff09;里作为示例。这个例子将展示如何创建两个基本的HTTP端点&#xff1a;一个用于获取所有评论&…

嵌入式岗位,你有能力,你同样可以拿到高薪资

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 就算你进去了&#xff0…

React项目知识积累(三)

1.primary-color 公共样式 less文件中的primary-color&#xff0c;会在config.js中的theme中统一写,方便统一更改。 config.js: theme{"primary-color":"#f0f0f0"&#xff0c;"font-size":"16px", }less: .classname{color:primary-…

用手机打印需要下载什么软件

在快节奏的现代生活中&#xff0c;打印需求无处不在&#xff0c;无论是工作文件、学习资料还是生活小贴士&#xff0c;都可能需要一纸呈现。然而&#xff0c;传统的打印方式往往受限于时间和地点&#xff0c;让人倍感不便。今天&#xff0c;就为大家推荐一款便捷又省钱的手机打…

做OZON怎么选择物流,OZON物流Xingyuan

随着跨境电商的蓬勃发展&#xff0c;OZON作为俄罗斯领先的电商平台&#xff0c;吸引了大量中国卖家入驻。然而&#xff0c;物流作为跨境电商的关键环节&#xff0c;其选择对于卖家来说至关重要。本文将围绕“做OZON怎么选择物流”这一问题&#xff0c;深度解析OZON物流Xingyuan…

数仓建模—数据模型的 10 个常见错误

数仓建模—数据模型的 10 个常见错误 1 将模式设计视为一次性项目 构建数据资产是一个持续的过程。随着您的分析需求随着时间的推移而变化,架构也必须进行调整。将数据建模视为一次性活动是不现实的。想想那些因为源系统之一的数据结构发生变化而不得不更改列名、数据类型,…

“云加”万里信,共赴山海约,解密协同云官网设计之路

门户的设计改版是怎样的&#xff1f;本文从浪潮海岳云加案例出发&#xff0c;手把手带你认识完整系统的门户设计升级。 一、升级背景 1、云加官网作为云加产品对外唯一官方门户&#xff0c;承载整个云加业务售前及售中的核心渠道&#xff0c;是用户接触云加产品的重要渠道之一…

解决GoLand无法Debug

goland 调试的的时候提示如下错误 WARNING: undefined behavior - version of Delve is too old for Go version 1.22.3 (maximum supported v 其实个原因是因为正在使用的Delve调试器版本太旧&#xff0c;无法兼容当前的Go语言版本1.22.3。Delve是Go语言的一个调试工具&#…

汽车标定技术(二十一)--英飞凌TC3xx的OLDA怎么玩?(1)

目录 1.英飞凌提出的OLDA是什么? 2.小结 1.英飞凌提出的OLDA是什么? 在研究TC3xx的内部总线互联时,偶然发现了OLDA(OnLine Data Acquisition),看名字就容易猜到,这个大概率是和标定测量系统有关。进一步了解OLDA的描述,更加好奇了: The OLDA is an address space whe…