ASP.NET小型证券术语解释及翻译系统的设计与开发

摘  要

在系统设计上,综合各种翻译类型网站优缺点,设计出具有任何使用者都可添加术语信息的且只有管理员能够实现术语修改及删除等独特方式的术语查看管理系统。此方式能够使术语量快速增大,并且便于使用者及管理员操作,满足相互之间不断增长的需求,即使用者增加术语量,管理员管理以实现数据信息的合理管理及利用。在查看方式上,使用术语的第一个汉字的中文拼音首字母为索引,并分页显示,用户能够非常方便地找到所需术语名及对应的英、日文翻译。此外,系统还提供术语搜索,更加方便用户查询。管理方式和按首字母分页显示及搜索的查看方式为系统第二个特点。其次,应用Cascading style Sheets(简称CSS,层叠样式表)外部链接方式,界面(UI)较为精致。系统应用CSS自定义样式并在首页应用透明FLASH,具有操作简便、界面友好等特性。

关键词计算机应用技术;ASP.net 2005;证券术语;解释及翻译;术语管理

3.1  系统功能结构设计

在系统需求分析的基础上,结合系统设计的目标,可将系统划分为4个功能模块:

  1. 首页:术语添加
  2. 术语一览:默认术语按ID顺序分页显示;页面上方点击术语中文拼音首字母可按首字母检索分页查看;页面中间提供输入术语名搜索方式查看术语。
  3. 术语管理:主要包括管理员登陆模块,对术语进行修改和删除操作。
  4. 其它模块:提供相关业务的服务,如资料下载等。

3.2  开发设计思想

系统开发设计思想有以下3点:

  1. 系统采用B/S结构,选用ASP.NET2005和SQL2000作为开发工具及开发环境进行系统的设计与开发。系统提供术语应准确全面,符合证券翻译及解释系统用户需求,并达到操作过程中的直观、方便、实用等要求。
  2. 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于日后的补充和维护。
  3. 系统应具备数据库维护功能,及时根据用户需求进行术语的添加、删除、修改等操作。

5.1  公用模块及代码

  1. 定义数据库公用操作方法类DbHelperSQL,用以连接数据库,执行sql语句等数据库操作。
  2. 定义公共类Glossary,完成添加,修改,删除等操作。
  3. 定义公共验证类PageValidate。

5.2  首页界面及功能代码

首页为系统门户,是使用者对系统的第一印象,故需精心设计。根据对系统用户群的分析,设计出如下所示的首页界面如下图5所示:

图5 首页

首页中用户有点击添加术语信息的功能,中间运用透明FLASH代码将所制作的图片放为背景图,在代码中加入如下代码,将FLASH变为透明。

<param name="wmode" value="transparent" />

添加功能模块具有添加术语五项信息功能,在Glossary.cs中编写如下代码实现添加功能:

       /// 增加一条数据

       public int Add()

       {

          

           StringBuilder strSql=new StringBuilder();

           strSql.Append("insert into Glossary(");

       strSql.Append("cGlossaryName,cChineseSpell,cGlossaryEnglish,cGlossaryJapan,cGlossaryInterpret)");

           strSql.Append(" values (");

       strSql.Append("@cGlossaryName,@cChineseSpell,@cGlossaryEnglish,@cGlossaryJapan,@cGlossaryInterpret)");

           SqlParameter[] parameters = {

                 

                  new SqlParameter("@cGlossaryName", SqlDbType.NVarChar),

                  new SqlParameter("@cChineseSpell", SqlDbType.NVarChar),

                  new SqlParameter("@cGlossaryEnglish", SqlDbType.NVarChar),

                  new SqlParameter("@cGlossaryJapan", SqlDbType.NVarChar),

                  new SqlParameter("@cGlossaryInterpret", SqlDbType.NVarChar)};

          

           parameters[0].Value = cGlossaryName;

           parameters[1].Value = cChineseSpell;

           parameters[2].Value = cGlossaryEnglish;

           parameters[3].Value = cGlossaryJapan;

           parameters[4].Value = cGlossaryInterpret;

           DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

           return ID;

       }

Append方法将sql语句连接起来,整个的语句为

Insert into  Glossary

(cGlossaryName,cChineseSpell,cGlossaryEnglish,cGlossaryJapan,cGlossaryInterpret)

Values (@cGlossaryName,@cChineseSpell,@cGlossaryEnglish,@cGlossaryJapan,@cGlossaryInterpret)

定义一个new SqlParameter,执行数据库公用方法DbHelperSQL.cs中定义的ExecuteSql完成与数据库连接,并执行SqlCommand语句,返回ID。

在ADD.cs中,代码如下

Glossary g = new Glossary();

        g.cGlossaryName = PageValidate.Encode(this.txtName.Text);

        g.cChineseSpell = PageValidate.Encode(this.txtChineseSpell.Text);

        g.cGlossaryEnglish = PageValidate.Encode(this.txtEnglish.Text);

        g.cGlossaryJapan = PageValidate.Encode(this.txtJapanese.Text);

        g.cGlossaryInterpret = PageValidate.Encode(this.txtInterPret.Text);

        g.Add();

        Response.Write("<script>alert('添加成功');</script>");

将所要添加的术语信息通过PageValidate.Encode方法增加到数据库中,完成添加功能。

5.3  术语一览界面和主要代码

术语一览界面如下图6所示:

图6  术语一览

  1. 系统默认为按术语ID分页显示。
  2. 利用cChineseSpell字段,中文拼音首字母为S的演示结果如下图7所示:

图7  以S为索引分页显示

点击索引S,画面上出现以S为拼音开头的所有术语,分页显示,很容易找到所需术语名。

按术语中文拼音首字母检索浏览方式代码如下:

页面ViewAll.aspx中代码如下:

<td><a href="ViewAll.aspx?spell=A" class="fontview">A</a></td>

后台ViewAll.aspx.cs中代码:

if (Request["spell"] != null)

        {

            this.gvGlossary.DataSource = g.GetList(" cChineseSpell like '" + Request["spell"].ToString() + "%' order by ID asc");

            this.gvGlossary.DataBind();

            return;

        }

        this.gvGlossary.DataSource = g.GetList(" 1=1 order by ID asc");

        this.gvGlossary.DataBind();

利用Request["spell"]与cChineseSpell比较,以ID的升序排列来检索分页显示。

  1. 搜索功能的实现代码如下:

if (Request["search"] != null)

        {

            this.gvGlossary.DataSource = g.GetList(" cGlossaryName like '"+Request["search"].ToString()+"%' order by ID asc");

            this.gvGlossary.DataBind();

            return;

        }

以所输入的术语名与数据库中cGlossaryName比较,得出搜索结果。

5.4  管理模块

管理模块中首先为管理员登陆、管理员用户验证。输入用户名或密码为空时再label中显示红色提示语:“用户名和密码不能为空!”;当输入有误时在label中显示提示语“您输入的用户名或密码有误!请重新输入。”;清除按钮将账号和密码都清空,如下图8,图9所示:

图8 用户验证(1)

图9  用户验证(2)

当确定为系统管理员后页面将登录到术语管理模块,主要有管理员查看、修改和删除操作。界面如下图10所示:

图10  管理模块

查看操作与术语浏览操作相似,不再赘述。

修改页面如下图11所示:

图11  修改

点击修改成功时弹出“修改成功”提示语。

在Glossary.cs中代码如下:

public void Update(int id)

       {

           StringBuilder strSql=new StringBuilder();

            strSql.Append("update Glossary set ");

           strSql.Append("cGlossaryName=@cGlossaryName,");

            strSql.Append("cChineseSpell=@cChineseSpell,");

           strSql.Append("cGlossaryEnglish=@cGlossaryEnglish,");

           strSql.Append("cGlossaryJapan=@cGlossaryJapan,");

           strSql.Append("cGlossaryInterpret=@cGlossaryInterpret");

           strSql.Append(" where ID=@ID" );

            SqlParameter[] parameters = {

                    new SqlParameter("@ID",SqlDbType.Int),

                  new SqlParameter("@cGlossaryName", SqlDbType.NVarChar),

                  new SqlParameter("@cChineseSpell", SqlDbType.NVarChar),

                  new SqlParameter("@cGlossaryEnglish", SqlDbType.NVarChar),

                  new SqlParameter("@cGlossaryJapan", SqlDbType.NVarChar),

                  new SqlParameter("@cGlossaryInterpret", SqlDbType.NVarChar)};

                   

            parameters[0].Value = id;

            parameters[1].Value = cGlossaryName;

           parameters[2].Value = cChineseSpell;

           parameters[3].Value = cGlossaryEnglish;

           parameters[4].Value = cGlossaryJapan;

           parameters[5].Value = cGlossaryInterpret;

        

           DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

       }

在修改页面Update.aspx.cs中代码如下

protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            if (Request["id"] != null)

            {

                Glossary g = new Glossary();

                g.GetModel(int.Parse(Request["id"]));

                this.txtName.Text = PageValidate.Decode(g.cGlossaryName);

                this.txtChineseSpell.Text = PageValidate.Decode(g.cChineseSpell);

                this.txtEnglish.Text = PageValidate.Decode(g.cGlossaryEnglish);

                this.txtInterPret.Text = PageValidate.Decode(g.cGlossaryInterpret);

                this.txtJapanese.Text = PageValidate.Decode(g.cGlossaryJapan);

            }

        }

    }

    protected void btnSubmit_Click(object sender, EventArgs e)

    {

        if (Request["id"] != null)

        {

            Glossary g = new Glossary();

            g.GetModel(int.Parse(Request["id"]));

            g.cGlossaryName = PageValidate.Encode(this.txtName.Text);

            g.cChineseSpell = PageValidate.Encode(this.txtChineseSpell.Text);

            g.cGlossaryEnglish = PageValidate.Encode(this.txtEnglish.Text);

            g.cGlossaryJapan = PageValidate.Encode(this.txtJapanese.Text);

            g.cGlossaryInterpret = PageValidate.Encode(this.txtInterPret.Text);

            g.Update(int.Parse(Request["id"]));

            Response.Write("<script>alert('修改成功');</script>");

           

        }

    }

在PageLoad时用PageValidate.Decode方法获得数据库中原有数据项,然后修改后用PageValidate.Encode方法将修改后的数据项传到数据库中。此处注意必须将Update方法带上参数int id,然后才能修改数据库中数据项。

删除操作,在Glossary.cs中定义如下代码:

public void Delete(int ID)

       {

           StringBuilder strSql=new StringBuilder();

           strSql.Append("delete from Glossary ");

           strSql.Append("where ID=@ID" );

           SqlParameter[] parameters = {

                  new SqlParameter("@ID", SqlDbType.Int,4)                };

           parameters[0].Value = ID;

           DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

       }

在Manage.aspx.cs中编写删除代码如下:

Glossary g = new Glossary();

g.Delete(int.Parse(this.gvGlossary.DataKeys[e.RowIndex].Value.ToString()));

Response.Write("<script>alert('删除成功');</script>");

bindALL();

点击删除时出现确认是否要删除,删除成功后显示删除成功提示语。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件设计师-应用技术-面向对象程序设计题5

考题形式&#xff1a; 代码填空&#xff0c;5 - 6空&#xff0c;每空3分。 基础知识及技巧&#xff1a; 1. 类的定义&#xff1a; 2. 接口的定义&#xff1a; 给实现类具体代码&#xff0c;填写接口中方法。 3. 类、抽象类、继承类、抽象方法的定义&#xff1a; 抽象类&…

【管理咨询宝藏95】SRM采购平台建设内部培训方案

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏95】SRM采购平台建设内部培训方案 【格式】PDF版本 【关键词】SRM采购、制造型企业转型、数字化转型 【核心观点】 - 重点是建设一个适应战略采…

20240508请问GTX2080TI的300和300A核心的差异?

20240508请问GTX2080TI的300和300A核心的差异&#xff1f; 在拼多多/淘宝上&#xff0c;GTX2080TI的300A核心的会比300核心的贵100&#xffe5;左右。 但是怎么区分呢&#xff1f; 300a核心和300请问怎么区分呢&#xff1f;[嘻嘻] devicr ID diviceid 1e07是300a 1e04是300 Gp…

2024041702-计算机操作系统 - 死锁

计算机操作系统 - 死锁 计算机操作系统 - 死锁 必要条件处理方法鸵鸟策略死锁检测与死锁恢复 1. 每种类型一个资源的死锁检测2. 每种类型多个资源的死锁检测3. 死锁恢复 死锁预防 1. 破坏互斥条件2. 破坏占有和等待条件3. 破坏不可抢占条件4. 破坏环路等待 死锁避免 1. 安全状态…

使用 Parallels Desktop 在 Mac 上畅玩 PC 游戏

我们不再需要接受 “Mac 不是为游戏而打造” 这一事实&#xff1b;Parallels Desktop 通过将电脑变成高性能的游戏设备&#xff0c;从而改变了一切。 Parallels Desktop 充分利用 Mac 硬件的强大功能&#xff0c;让您无缝畅玩 Windows 专享游戏。 性能得到提升&#xff0c;可玩…

基于 llama2 的提示词工程案例2

优化大型语言模型&#xff08;LLMs&#xff09; 优化大型语言模型&#xff08;LLMs&#xff09;中的提示词&#xff08;prompts&#xff09;是提高模型性能和输出相关性的重要手段。以下是一些优化提示词的方向&#xff1a; 明确性&#xff1a;确保提示词清晰明确&#xff0c;…

数据湖与数据网格:引领组织数据策略的未来

十多年来&#xff0c;组织已经采用数据湖来克服数据仓库的技术限制&#xff0c;并发展成为更加以数据为中心的实体。虽然许多组织已经使用数据湖来探索新的数据用例并改进其数据驱动的方法&#xff0c;但其他组织发现所承诺的好处很难实现。因此&#xff0c;许多数据湖计划的有…

SOLIDWORKS Electrical电气元件智能开孔

实际的电气元器件安装中&#xff0c;一些元器件需要穿过孔洞安装&#xff0c;例如按钮、指示灯会在配电柜的控制面板上&#xff0c;需要穿过控制面板安装。这部分内容放在软件建模、装配时&#xff0c;往往比较复杂因为考虑孔的大小符合元器件规格、孔跟随元器件移动、同一元器…

CR80清洁卡的重要性

在我们日常生活中&#xff0c;身份证、银行卡、信用卡等塑料卡片已经成为了不可或缺的一部分。这些卡片通常符合CR80标准&#xff0c;这意味着它们的尺寸和厚度符合国际标准&#xff0c;为了保证这些卡片的读取和使用效果&#xff0c;清洁维护显得尤为重要。 什么是CR80卡&…

Linux学习之禁用防火墙

查看防火墙状态 systemctl status firewalld.service 第一行前面的圆圈是有颜色的就是开启状态 黑色的就是关闭状态 关闭防火墙 systemctl stop firewalld.service 输入密码认证 再次查看防火墙状态 systemctl status firewalld.service 第一行前面的圆圈变成黑色说明关闭…

杰理-701-单线灯-ws2812-驱动

杰理-701-单线灯-ws2812-驱动 LED_gradual_open(); //调用后 呼吸灯 set_led_colour&#xff08;R,G,B&#xff09;&#xff1b;//具体颜色 spi_dma_set_addr_for_isr //spi 配置dma 后灯才亮 #define LED_H 0x7c #define LED_L 0x40 发送高位和地位的字节&#xff0c;具体…

UP互助 帮助UP起号做视频 支持B站和抖音

【软件名字】&#xff1a;UP互助 【软件版本】&#xff1a;1.0 【软件大小】&#xff1a;17.5MB 【软件平台】&#xff1a;安卓 【测试机型】&#xff1a;小米9 1.随便登个邮箱&#xff0c;添加自己平台的频道&#xff0c;然后就可以帮助别人&#xff0c;添加频道后在添加…

仓库管理系统需求调研要点

仓库管理系统需求调研 一、仓库的作用 仓库分类 原材料仓库&#xff1a;用于存放生产所需的原材料和零部件&#xff0c;需要保持原材料的质量和数量稳定。半成品仓库&#xff1a;存放生产过程中的半成品和在制品&#xff0c;需要保持良好的生产流程和及时出库。成品仓库&#x…

【Arduino IDE 2】Windows平台安装ESP8266 NodeMCU LittleFS Uploader(文件上传插件)

在Arduino IDE 2&#xff08;2.2.1或更高版本&#xff09;上&#xff0c;如何安装基于ESP8266 NodeMCU的LittleFS文件系统上传插件&#xff0c;以及如何将文件上传到ESP8266 NodeMCU板文件系统。 一、LittleFS简介 LittleFS是一个为微控制器创建的轻量级文件系统&#xff0c;可…

智慧校园能解决什么问题?

智慧校园是学校信息化建设的基础载体&#xff0c;他将校园工作的各个业务模块融合&#xff0c;形成一个有机的整体。同时智慧校园又一种先进的教育管理模式&#xff0c;它利用信息技术如物联网、大数据、云计算、人工智能等&#xff0c;来提升教育质量和管理效率。 同时&#…

RabbitMQ(Docker 单机部署)

序言 本文给大家介绍如何使用 Docker 单机部署 RabbitMQ 并与 SpringBoot 整合使用。 一、部署流程 拉取镜像 docker pull rabbitmq:3-management镜像拉取成功之后使用下面命令启动 rabbitmq 容器 docker run \# 指定用户名-e RABBITMQ_DEFAULT_USERusername \# 指定密码-e R…

Java_异常

介绍 编译时异常&#xff1a; 除RuntimeException和他的子类&#xff0c;其他都是编译时异常。编译阶段需要进行处理&#xff0c;作用在于提醒程序眼 运行时异常&#xff1a; RuntimeException本身和其所有子类&#xff0c;都是运行时异常。编译阶段不报错&#xff0c;是程序…

【Linux】gcc/g++的使用

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解Linux中gcc/g使用的相关内容。 如果看到最后您觉得这篇文章写得不错…

登录校验总览-jwt令牌

一、前置问题 为什么要登录校验&#xff1f;登录校验&#xff0c;就是判断访问资源的用户是否是合法用户&#xff0c;保障安全。如果不设置登录校验&#xff0c;就可以跳过登录&#xff0c;直接通过url访问资源。二、登录校验实现思路&#xff1a; 在服务器端对请求进行统一拦…

连接docker中的MySQL出现2058错误

出错场景&#xff1a;在虚拟机中用docker技术下载最新版本的MySQL&#xff0c;在本地电脑上连接发现出现2058错误。 解决方法&#xff1a; 按照以下步骤 1. 2. ALTER USER root% IDENTIFIED WITH mysql_native_password BY 自己MySQL的密码; 3.成功
最新文章