VB_NET实现同音字查询

上传人:jiups****uk12 文档编号:38476077 上传时间:2018-05-02 格式:PDF 页数:2 大小:184.57KB
返回 下载 相关 举报
VB_NET实现同音字查询_第1页
第1页 / 共2页
VB_NET实现同音字查询_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《VB_NET实现同音字查询》由会员分享,可在线阅读,更多相关《VB_NET实现同音字查询(2页珍藏版)》请在金锄头文库上搜索。

1、福建电脑福建电脑2010年第3期福建电脑(下转第132页)VB.NET 实现同音字查询刘佳( 天津武警指挥学院训练部模拟中心天津300250)【摘要】:同音查询技术在管理信息系统(MIS)领域存在着广泛应用,运用该技术,用户在只知道关键字发音,不知具体拼写的情况下,只需输入发音相同的关键字,就可以迅速检索出所需要的相关信息,大大提高了检索效率。一、基本原理 在汉字系统中,“字“和“音“存在着“多对多“的关系,根据这 种关系,可以构造一个表,包含两个字段,一是汉字字段,用来存 放国标库中的汉字,另一个是拼音字段,用来存放国标库中汉字 的拼音,这样就可以在“字“和“音“之间进行双向查询。 当用户只

2、知道查询条件的读音时,就可应用同音查询技术, 只输入查询条件的同音字,由程序转换为相应的拼音,再根据拼 音查询同音字。 二、同音查询设计与实现 下面的实例演示了在应用于一个MIS系统中用的同音查询 技术, 功能是根据用户输入的检索条件查询出数据库中所有与 之读音相同的人员姓名。 1.转换拼音库 第一步:执行C:Program FilesWindows NTAccessories目录 下的Imegen.exe文件,该文件是Windows XP提供的输入法生成 器,选择“逆转换“,“输入法码表名“选择C:Windowssystem32 目录下的Winpy.mb文件。通过逆转换功能得到一个汉字与拼音

3、 对应的文本文件WINPY.TXT。 第二步:WINPY.TXT中的拼音不含声调信息, 所以要对该 文件进行分析,得到声调,并写入数据库。 具体方法参见自制含 音调的汉字库实现对汉语拼音的查找1一文。 2.同音查询设计与实现 用上面得到的字与音的对应关系构造一个“拼音表“(PY), 主要包括“汉字“(Name)和“拼音“(Spell)两个字段。 在查询过程中, 程序首先根据用户输入的条件从拼音库中 查出对应的拼音,再根据拼音表中的“字“音“对应关系从人员 表中检索出所有与条件读音相同的结果。 假如用户想得到一个名为“章遇水“用户的信息,但并不知 道具体如何拼写,有可能输入的查询条件为“张玉水“

4、,这时就可 以应用同音查询,列出所有发音与“章遇水“相同的用户。 3.主要代码: 开发环境:Windows XP +Visual Studio 2005 + Access 2003 在Visual Studio 2005中新建一个VB.ENT应用程序项目, 在窗 体中放置3个控件:TextBox输入查询条件、Button执行查询命令、DataGridView显示查询结果。 输入条件后,点击“查询“按钮,程序会列出所有与查询条件 相同的用户姓名。 如图1所示。图1.同音查询界面Public Class query Private str_rypy() As String Private conn

5、 As OleDbConnection = New OleDbConnection (“PROVIDER= Microsoft.Jet.OLEDB.4.0;DATA Source=“ & System.Windows.Forms.Application.Star- tupPath & “db.mdb“) Public Sub rypy (ByVal str_rymc As String)返回查询条件的拼音字符 串,参数为查询条件 Dim i As Int32 = 0 ReDim str_rypy(str_rymc.Length - 1) For i = 0 To str_rymc.Length

6、 - 1 str_rypy(i) = py(str_rymc(i) Next End Sub Private Function py(ByVal str As String) As String 返回单个汉字的拼音 Dim str_temp As String = “ Try Dim strsql As String = “select spell from py where name=name“ Dim cmd As New OleDbCommand(strsql, conn) cmd.Parameters.AddWithValue(“name“, str.ToString.Trim) If

7、 conn.State = ConnectionState.Closed Then conn.Open() End If Dim dr As OleDbDataReader dr = cmd.ExecuteReader If dr.Read Then str_temp = dr.Item(0) End If Catch ex As Exception conn.Close() End Try conn.Close() Return str_temp End Function Public Function query() As DataTable返回查询结果 Dim dt As New Dat

8、aTable Try SQL语句中ryk为存储人员信息的表,py为“字“音“对照表 Dim strsql As String = “Select ryk.id,ryk.name From ryk Where( ( Mid (ryk.name,1,1) In(Select name From py Where spell=spell1) ) And(Mid(ryk. name,2,1) In(Select name From py Where spell=spell2) ) And(Mid(ryk.name,3,1) In (Select name From py Where spell=spe

9、ll3) ) )“ Dim cmd As New OleDbCommand(strsql, conn) 参数spell1,spell2,spell3分别为查询条件单个字的拼音, 存储在 字符串数组str_rypy()中 cmd.Parameters.AddWithValue(“spell1“, str_rypy(0) cmd.Parameters.AddWithValue(“spell2“, str_rypy(1) cmd.Parameters.AddWithValue(“spell3“, str_rypy(2) If conn.State = ConnectionState.Closed T

10、hen conn.Open() End If Dim da As New OleDbDataAdapter Dim ds As New DataSet da.SelectCommand = cmd da.Fill(ds) dt = ds.Tables(0) Catch ex As Exception conn.Close() Exit Try End Try168福建电脑福建电脑2010年第3期福建电脑(上接第168页)!conn.Close() Return dt返回的DataTable-dt即为查询结果,可以作为DataGrid- View的数据源 End Function End Cla

11、ss参考文献:1曾志文,陈志刚,蒋冬初,自制含音调的汉字库实现对汉语拼音的查 找,计算机应用与软件,2003年8期求, 然后调用服务器端的Java Servlet完成复杂的计算功能,将 结果返回浏览器以供显示;流媒体服务器负责按照SMIL文件中 所定义的路径检索需要的多媒体素材, 并通过流式传输至客户 端的播放器。JSP服务器只需一个,而流媒体服务器根据实际的 多媒体素材的数量和分布情况可设为多个, 目的在于更方便灵 活的组织分散的多媒体素材, 同时分担多媒体数据传输对服务 器造成的负荷。 具体的系统体系结构如图1所示。 4、系统实现 系统可以划分为四大模块,分别为:个性化多媒体课件生成 模块

12、、用户管理模块、作业在线提交模块和在线考试模块。 4.1个性化多媒体课件生成模块 该模块负责根据用户的需求参数,如知识点、难易程度,动 态生成符合要求的SMIL文档并返回客户端浏览器,浏览器调用 流媒体播放器完成SMIL文档的播放。 该模块的具体运作过程如图2所示。 客户端是支持SMIL 标准的浏览器(如IE6.0),属于Web表示层,负责页面的显示、 完成系统与用户的交互以及调用本地播放器或播放器插件来播 放SMIL文件。 中间的核心应用层是整个模块的关键部分,这一 部分的功能使用了JSP/Servlet技术、SMIL技术和流媒体技术来 实现。 首先对用户的权限进行验证,只有付费用户才能够享

13、受个 性化多媒体课件的服务, 并且不同等级的付费用户所享有的服 务也是有区别的, 通过验证的用户可以在网页中选择不同的知 识点、章节、难度和深度,这些参数是动态生成多媒体课件的依 据,然后浏览器将这些参数发送到JSP服务器,服务器在接收到 该请求之后将调用相应的Servlet程序处理,Servlet的处理结果 会生成一个SMIL文档,JSP服务器将该文档返回客户端。 浏览 器将SMIL文档传递给播放器,由播放器负责处理SMIL文档的 播放,随后发生的动作是在播放器与流媒体服务器之间。 播放器 根据SMIL文档中记录的地址找到流媒体服务器,由该服务器来 流式传输相应的多媒体素材,多个素材的同步播

14、放就由SMIL来 负责了。图2个性化课件生成过程示意图 SMIL文档是实现个性化多媒体课件的关键, 利用SMIL可 以把零散的、相对独立的课件资源快速、无损的整合在一起,从 而形成符合不同需求的新的课件。 下面给出了一个完整的SMIL 文档的代码,该文档将一个视频文件、一个声音文件整合为一个 多媒体课件, 其中标签表示这两个媒体文件是同时 播放。4.2用户管理模块 用户管理模块主要包括用户登录、 用户信息管理和新用户 注册。 (1)用户登录 只有已注册的用户才可以访问远程教学系统的内容, 如果 该用户是新用户就必须先注册, 如果是老用户可以输入用户名 和密码,两者匹配的条件下才能够进入网站。

15、(2)用户信息管理 用户信息管理包括普通用户管理和管理员用户管理。 管理 员用户拥有最高的管理权限,可以删除、更新所有普通用户的基 本信息和权限; 普通用户可以管理个人资料, 包括修改原有资 料,删除部分信息等。 对用户付费等级的修改会直接影响到系统 为用户所提供的多媒体课件服务的质量。 (3)新用户注册 新用户必须通过注册的方式才能成为有效用户, 首先要设 定用户名和密码,之后要选择设置付费等级,系统提供了三种付 费等级:第一种是完全免费,该等级的用户只享受最普通的多媒 体课件服务,不能实现个性化课件定制;第二种是普通付费,享 受按照章节的方式定制课件;第三种是高级付费,享受系统所提 供的所

16、有多媒体课件定制方式,包括知识点、章节、难度以及表 现形式等。 完成付费等级设置后由系统自动设置用户权限,注册 完成。 4.3在线考试模块 该模块负责根据用户选取的知识点、 难度和题型来动态生 成试卷,管理员能够进入该模块对试卷进行管理,如新增、删除、 修改、增加题型等。 所有试题均保存在数据库中,系统根据用户 的选择参数来查询数据库获得符合查询条件的记录返回客户 端,判卷时将把用户的答案与数据库中的标准答案进行对比,从 而统计出最后得分。 5、结论 基于SMIL的远程教学系统的架构设计与实现能够很好地 将SMIL、流媒体技术和JSP/Servlet技术结合在一起,充分利用 了现有的多媒体课件资源, 为用户提供了根据自己的兴趣爱好 来选择多媒体课件的机会,丰富了远程教学的手段,用户管理和 在线考试功能让远程教学系统更趋完善。参考文献: 1肖磊,陈卓,郑重.流媒体技术与应用完全手册M.清华大学出版社, 重庆大学

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号