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

news2025/1/16 14:47:00

摘  要

在系统设计上,综合各种翻译类型网站优缺点,设计出具有任何使用者都可添加术语信息的且只有管理员能够实现术语修改及删除等独特方式的术语查看管理系统。此方式能够使术语量快速增大,并且便于使用者及管理员操作,满足相互之间不断增长的需求,即使用者增加术语量,管理员管理以实现数据信息的合理管理及利用。在查看方式上,使用术语的第一个汉字的中文拼音首字母为索引,并分页显示,用户能够非常方便地找到所需术语名及对应的英、日文翻译。此外,系统还提供术语搜索,更加方便用户查询。管理方式和按首字母分页显示及搜索的查看方式为系统第二个特点。其次,应用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.coloradmin.cn/o/1653725.html

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

相关文章

J1019基于SpringBoot的护肤品推荐系统设计与实现(源码+包运行+技术指导)

项目描述 临近学期结束&#xff0c;开始毕业设计制作&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉的困难吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的护…

万用板是什么?和印刷电路板一样吗?

同学们大家好&#xff0c;今天我们继续学习杨欣的《电子设计从零开始》&#xff0c;这本书从基本原理出发&#xff0c;知识点遍及无线电通讯、仪器设计、三极管电路、集成电路、传感器、数字电路基础、单片机及应用实例&#xff0c;可以说是全面系统地介绍了电子设计所需的知识…

C/C++ 入门(10)list类(STL)

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;C 欢迎来指教&#xff01; 一、标准库中的list 1、了解 list&#xff1a;是一个双向带头循环链表&#xff0c;不支持随机访问&#xff08;即下标访问&#xff09;&#xff0c;任意位置的插入删除效率高。 …

python与java用途区别有哪些

区别&#xff1a; 1.Python比Java简单&#xff0c;学习成本低&#xff0c;开发效率高。 2.Java运行效率高于Python&#xff0c;尤其是纯Python开发的程序&#xff0c;效率极低。 3.Java相关资料多&#xff0c;尤其是中文资料。 4.Java版本比较稳定&#xff0c;Python2和3不…

《动手学深度学习》预备知识和安装环境

哈喽&#xff0c;欢迎来到自学深度学习小白的文章&#xff0c;本文将介绍anacoda是什么和有什么用&#xff0c;以及在win10环境下如何安装运行环境。 关于anaconda 1.环境 准备开始写代码了&#xff0c;教材总是先叫你配好环境&#xff0c;环境可以堪称一栋房子&#xff0c;…

如何给正弦信号添加12V直流偏置

一个有趣问题的探究&#xff1a; 运放在单电源的情况下只能输出正电压&#xff08;单方向的&#xff09;&#xff0c;这就使得有正负值的信号电压只能输出一半&#xff1a; 【单电源供电的运放如何增加直流偏置】&#xff08;电阻分压法&#xff09;&#xff1a; 单电源供电的…

【工具推荐定制开发】一款轻量的批量web请求命令行工具支持全平台:hey,基本安装、配置、使用

背景 在开发 Web 应用的过程中&#xff0c;作为开发人员&#xff0c;为了确认接口的性能能够达到要求&#xff0c;我们往往需要一个接口压测工具&#xff0c;帮助我们快速地对我们所提供的 Web 服务发起批量请求。在接口联调的过程中&#xff0c;我们通常会用 Postman 等图形化…

认识大模型提示词

一、写作助理 &#x1f4a5;最常使用的 prompt&#xff0c;用于优化文本的语法、清晰度和简洁度&#xff0c;提高可读性。 输入&#xff1a;作为一名写作改进助理&#xff0c;你的任务是改进所提供文本的拼写、语法、清晰、简洁和整体可读性&#xff0c;同时分解长句&#xff…

“情况不明,对子先行”攻略

掼蛋作为一种策略性极强的游戏&#xff0c;不仅考验牌技&#xff0c;更考验玩家的智慧和策略布局。这里主要介绍一下当牌力不足的时候的普通策略—情况不明&#xff0c;对子先行。 当你的牌力不强&#xff0c;或者牌局情况不明朗时&#xff0c;自己手上有有比较多的对子&#x…

爱丁堡大学出新招,大小语言模型配合节约成本!

在大语言模型的应用中&#xff0c;往往面临着成本和性能权衡的问题。 一方面&#xff0c;大型LLM的参数量极大&#xff08;如70B&#xff09;&#xff0c;每次调用都可能带来更多的成本&#xff0c;而小型LLM&#xff08;如7B&#xff09;的成本则更容易被接受。 另一方面&am…

【软件测试】用例篇 -- 详解

一、测试用例的基本要素 测试用例&#xff08;Test Case&#xff09;是为了实施测试而向被测试的系统提供的一组集合&#xff0c;这组集合包含&#xff1a;测试环境、操作步骤、测试数据、预期结果等要素。&#xff08;注意&#xff1a;不需要执行结果&#xff0c;因为执行结果…

四、Redis五种常用数据类型-List

List是Redis中的列表&#xff0c;按照插入顺序保存数据&#xff0c;插入顺序是什么样的&#xff0c;数据就怎么保存。可以添加一个元素到列表的头部(左边)或者尾部(右边)。一个列表最多可以包含232-1个元素(4294967295&#xff0c;每个列表超过40亿个元素)。是一种双向列表结构…

如何获取中国各省市区的边界

前几个专栏我介绍了获取各流域边界的方法&#xff0c;可参见以下的文章&#xff1a; 格林兰岛和南极洲的流域边界文件下载-CSDN博客 读取shp文件中的经纬度坐标-CSDN博客 读取谷歌地球的kml文件中的经纬度坐标_谷歌地球识别穿过矿区的公路,并获取公路的经纬度坐标-CSDN博客 关于…

图像处理:图像噪声添加

文章目录 前言一、高斯噪声二、椒盐噪声三、泊松噪声四、斑点噪声五、指数噪声六、均匀噪声总结 前言 本文主要介绍几种添加图像噪声的方法&#xff0c;用于数据增强等操作。 以下图为例。 一、高斯噪声 高斯噪声就是给图片添加一个服从高斯分布的噪声&#xff0c;可以通过调…

OpenGL 入门(三)—— OpenGL 与 OpenCV 共同打造大眼滤镜

从本篇开始&#xff0c;会在上一篇搭建的滤镜框架的基础上&#xff0c;介绍具体的滤镜效果该如何制作。本篇会先介绍大眼滤镜&#xff0c;先来看一下效果&#xff0c;原图如下&#xff1a; 使用手机后置摄像头对眼部放大后的效果&#xff1a; 制作大眼滤镜所需的主要知识点&…

Qt应用开发(拓展篇)——图表 QChart

一、前言 QChart是一个图形库模块&#xff0c;它可以实现不同类型的序列和其他图表相关对象(如图例和轴)的图形表示。要在布局中简单地显示图表&#xff0c;可以使用QChartView来代替QChart。此外&#xff0c;线条、样条、面积和散点序列可以通过使用QPolarChart类表示为极坐标…

PRL:新型量子传感方案突破纳米测量极限

朴茨茅斯大学的研究人员近期宣布了一项令人振奋的量子传感方案&#xff0c;该方案在测量两个干涉光子之间的横向位移方面达到了前所未有的量子灵敏度。 这一技术的突破为超分辨率成像技术带来了新的可能性。目前&#xff0c;这些技术通常采用单光子源作为探针&#xff0c;用于在…

无刷电机和有刷电机的区别

无刷电机和有刷电机的区别 无刷电机的定子上绕着线圈&#xff0c;线圈通常是成对出现的&#xff0c;通过控制电路为每一对线圈按照一定顺序输入电流&#xff0c;就可以产生旋转的磁场 它还有一个永磁体转子&#xff0c;现在多采用高磁能级的稀土铷铁硼材料&#xff0c;体积更小…

Python练习(函数)

目录 6-1 使用函数求素数和 函数接口定义&#xff1a; 裁判测试程序样例&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 6-2 使用函数输出指定范围内Fibonacci数的个数 函数接口定义&#xff1a; 裁判测试程序样例&#xff1a; 输入样例&#xff1a; 输出样…

【AI绘画】Midjourney 工笔画 水蓝色衣服的少女

using Midjourney 提示词&#xff1a; highly detailed,细节刻画细腻,超高清晰度,32k,HD,大师作品,高质量,动漫少女,水墨人像,20岁年轻身材很好的中国少女,惊人的美貌,五官精致,精致的妆容,华丽的水蓝色衣服,古风服饰,华丽的珠宝,飞扬的黑色长发,大风吹起头发,宝石发光,黄金装饰…