数据库实现的操作方法

2024-06-18

数据库实现的操作方法(精选十篇)

数据库实现的操作方法 篇1

目前, Web数据库服务已经成为了Internet信息服务的主要方式。Web数据库技术以数据库作为后台, 以Web页面作为用户界面, 将数据库技术与Web交互技术进行了有机的结合。失去了数据库的Web页面就失去了其强大的应用功能和适用性, 能否对让不懂数据库的人士也能利用浏览器通过Internet对后台的数据库进行准确的创建。为以后网站功能的转向打开了方便之门。

1 总体设计思想

1.1 基本简介

实现数据库和数据表的在线动态创建, 使之对不太熟悉数据库知识的操作人员都能轻松创建和管理, 要实现此目的必须要完成: (1) 在指定的数据存放目录中创建数据库; (2) 在数据库中创建表; (3) 在表中添加相应的字段和字段的类型; (4) 对表添加、删除、修改记录等操作。

1.2 系统结构图

实现数据从无到有的结构图见图1。

2 具体实现

(1) 数据库的创建

要实现此项功能先要从上一页面中获取用户提供给建库的一些基本信息, 包括数据库名、类型和备注信息, 下面有关实现建库的部分代码:

创建数据库

(2) 在数据库中加表

在数据库中加表是通过使用SQL命令中create table来完成的添加表, 图2是获取用户对表的命名和字段添加的页面:

利用asp的页面传递数据的方法将用户录入的信息提交到表的添加页面完成表的添加, 代码如下:

(3) 数据表中对不确定字段的动态操作

由于数据库和数据表都是新添加的, 我们事先不知道数据库中包含哪些字段和记录, 为了使写出的代码具有通用性, 就需要解决的问题是如何确定字段数、字段名、字段值、记录数等, 我们可以通过使用recordset对象提供的方法和属性, 完成以上的操作处理:

obj RS.Fields.count Recordsets的字段数

obj RS.fields (i) .name第i个字段名

obj RS.fields (i) .value第i个字段值

obj RS.recordcount记录总数

下面是数据修改代码, 对于记录的增加与删除, 用SQL语句即可 (限于篇幅, 不再赘述) 。

我们用文本框组TXT来对记录的内容进行编辑修改, 用数组来记录文本框内容。当数组的内容不为空时, 将数组的内容写入数据库中。编写一个过程Edit Page来实现。

3 结束语

通过Web数据库的在线动态创建技术, 使得网站的创建和功能改版, 能随心所欲, 即方便了不懂网页制作知识人员拥有个人特色、功能的网站。同时也减少了基于Web的数据库应用系统的开发工作量, 使主要的精力用于美化网站上。限于篇幅本文省略了部分脚本, 如:对数据库的删除、修改、显示等。

摘要:目前, 动态网站创建时必须将数据库事先确定, 同时前台网页也就固定了下来, 日后若要对网站进行功能转向那么就不得不重新编写脚本, 为避免出现这种情况, 本文重点阐述如何利用asp动态创建数据库、数据表及对记录数据的操作, 使得网站建设更为轻松。

关键词:ASP,数据库,动态创建,create

参考文献

[1]汪小平, 吴勇强, 张宏林等.ASP网络开发技术.北京人民邮电出版社.2000.

[2]肖金秀.ASP网络编程技术.北京清华大学出版社.2001.

[3]廖信彦.ASP应用经典.ASP应用经典:Web高级技巧.中国铁道出版社.2000.9.

数据库实现的操作方法 篇2

.分卷压缩

tar cvzpf - eclipse | split -d -b 50m

上面的命令是将eclipse这个文件夹分卷压缩,每卷50m,注意eclipse 前面有空格.压缩完之后,会被命名为x00,x01,x02,

。。

2.解压

首先需要合并:

合并的命令是: cat x*>eclipse.tar.gz

数据库实现的操作方法 篇3

【关键词】JDBC;EJB;数据库;访问方式

【Abstract】This article describes two different database access method, principle and mode of JDBC and EJB are compared, and because of the relative complexity of EJB access to the database of the way through an instance of explain its mode of operation. This article is intended to provide a database to establish some preliminary recommendations for implementation to select the database developers.

【Key words】JDBC;EJB;Database;Access mode

1. JDBC的介绍

1.1 JDBC简介及结构。

1.1.1 JDBC提供了面向对象的数据库访问接口,针对JAVA提供了数据库访问的类库。

1.1.2 JDBC由应用程序、驱动程序管理器、驱动程序和数据源4个组件组成[1]:

(1)应用程序:用于数据的发送以及接收。

(2)驱动程序管理器:针对不同数据源的驱动程序进行相应处理。

(3)驱动程序:提供数据源与对应的应用程序之间的接口。

(4)数据源:SQL兼容数据库。

1.1.3 由于JDBC提供了针对面向对象的数据库访问接口,所以应用程序只需要调用JDBC的数据库接口,而复杂的数据库通讯处理则是通过JDBC的驱动程序完成的。这样大大节约了数据的处理成本。

1.2 JDBC驱动程序常用的四种工作模式介绍。

1.2.1 JDBC驱动程序分为4大类,分别是:

(1)JDBC/ODBC Bridge;

(2)Native API Partly Java;

(3)Net Protocol All Java;

(4)Native Protocol All Java.

1.2.2 Type 1:JDBC/ODBC Bridge

JDBC与ODBC的桥接,由于ODBC比JDBC出现的时间早.并且应用很广泛.支持的数据库类型较多,所以JDBC为了支持更多的数据库类型,联合开发了此类桥接,驱动原理是将JDBC的调用传递给ODBC.经过ODBC编译调用本地数据库驱动对数据库进行操作。

1.2.3 Type 2:Native API Partly Java。

由于大部分数据库厂商提供的接口是由C语言编写的。在很大程度上依赖于不同的平台,加大了数据库的操作的复杂度,本地的数据库接口就是为了解决此类问题.通过驱动程序将应用程序的调用信息转化为本地软件接口的调用,在底层的数据库操作完毕后,将处理结果返回给JDBC驱动程序,从而以标准的输入、输出形式降低了人工操作的复杂度。

1.2.4 Type 3:Net Protocol All Java。

将JDBC的信息调用转化为网络协议的形式,通过服务器来处理发送的网络协议从而完成数据库的操作。此类的驱动程序较为灵活,尤其在企业内网的应用中能够发挥较好的效果,比较熟知的websphere应用服务器就包含了此类的驱动[2],但是由于这种驱动需要在中间层配置其数据库的驱动程序,需要在中间层传递数据,所以它的执行效率会受到影响。

1.2.5 Type 4:Native Protocol All Java。

与第三种调用方式相仿,此类模式也是通过将JDBC调用转化为网络协议,与之不同的是此类访问方法是与数据库建立直接的套接字连接,将数据接口直接转化为网络调用,通过网络使得客户端直接调用服务器端的数据库。

2. EJB的介绍

2.1 EJB定义及分类。

(1)EJB(Enterprise Java Beans)具有布式服务的多层次结构,提供面向对象技术并且具有跨平台优点的构建体系结构。

(2)EJB提供了三种企业Bean,分别是会话Bean(Session Bean)。实体Bean(Entity Bean)和消息驱动Bean(Message Driven Bean),可以将它们视为EJB的三种重要组件。

2.1.1 消息驱动Bean(MDB)。

由于消息驱动与数据库的访问操作无关。所以这里首先介绍消息驱动。MDB是设计用来专门处理基于消息请求的组件。它能够收发异步JMS消息,并能够轻易地与其他EJB进行交互。所以它比较适合用于执行周期长,无需实时反馈的情景。

2.1.2 会话Bean。

会话Bean用于实现业务逻辑,它分为有状态和无状态两种模式,针对客户端发出的调用请求,选择通过JDBC或者实体Bean来实现数据的访问。

2.1.3 实体Bean。

实体Bean(Entity Bean)是持久数据组件,代表存储到外部介质中的对象或者系统资源。客户端可以通过共享来对其发起访问。

2.2 会话Bean与实体Bean的区别。

(1)Session Bean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。Entity Bean被用来代表应用系统中用到的数据[3]。

(2)对于客户机:会话Bean是一种非持久性对象,主要实现在服务器上运行的业务逻辑;实体Bean是一种持久性对象,代表存储到外部介质中的对象或者是应用程序中的系统资源。

2.3 通过实例比较会话Bean与实体Bean操作的优缺点。

2.3.1 通常情况下数据会以表格的方式作为输出显示,这种情形如果使用实体Bean会导致如下问题:

(1)引起服务端频繁的数据库查询和加载操作。每次的实体Bean访问都要进行一次find操作,造成效率的低下。

(2)如果使用Remote接口。会引起频繁的额外网络操作。

(3)实体Bean在处理复杂的关系型数据库时,映射会变得非常复杂,会增加建模过程的难度。

2.3.2 因此建议在只需对数据库表数据进行只读访问时候,应该采用JDBC for Reading Pattem,即通过JDBC直接访问数据库。

3. 总结

(1)由表l所示列出了两种调用方法的优劣比较,其中,EJB的可扩展性的意义是:在数据库建立初期,考虑服务是为500个终端200个并发考虑的,但是业务在一段时间后扩展了,可能达到1000个终端,400个并发。如果架构设计的不好,无法满足使用需求,就会造成前期投资的失败。如果使用EJB。可以将其中一部分的实体Bean部署到其他的服务器上,使得负载均衡,从而减小了人力以及经济方面的损失。

(2)EJB中的实体Bean与JDBC直接调用数据库各有利弊.单独使用JDBC直接操作完全可以达到操作数据库的目的,这一点在功能上与结合EJB进行操作没有区别。问题的关键是我们对于项目的分布能力以及扩展性的要求上,如果预计应用于分布式的系统中,应该优先选择EJB;如果项目的扩展要求不高,使用JDBC也可以满足要求.

参考文献

[1] 郭广军,陈代武.基于JDBc的数据库访问技术的研究[J].南华大学学报,2005,19(2):60~62.

[2] 欧阳宏基,葛萌.基zf:JDBC与设计模式的数据库连接实现方法[J].计算机技术与发展,201 1,21(1):85~87.

[3] 董久敏,杨旭.电力客户关系管理系统的设计与实现[J].制造业自动化,201 1,33(4):149~151.

[4] 吴吉义,王中友.MySQL原理与Web系统开发[M].北京:清华大学出版社,2009.

简化操作实现数据自动备份 篇4

俗话说, 有备则无患, 为了保护重要文件的安全, 最稳妥的方式是对其进行及时备份。这样, 当数据丢失或者损坏时, 可以从容不迫的进行恢复。现在有很多数据备份工具, 功能上也各有特色。不过, 这些工具通常都要求用户执行手工备份, 操作起来比较繁琐。一旦出现疏漏, 忘记及时备份文件的话, 就会招致不应有的损失。所以, 为了提高数据备份的效率和安全性, 简化数据备份流程, 最好对其执行自动备份操作。这样, 无需您的额任何干预, 当到达预设时间后, 就可以又快又好的完成备份任务。

数据库实现的操作方法 篇5

关键词:SQL Server;ASP.NET;人员信息管理;存储过程

中图分类号:TP315文献标识码:A文章编号:1007-9599 (2012) 03-0000-02

To Achieve Personnel Information Management Methods with SQL SERVER Database on B / S Structure

Li Zhiwen

(Department of State Authorities and Institutions Abroad Services Council, Beijng 100701,China)

Abstract:In this paper, take an university for example, with ASP.NET, we discussed the method to implement college personnel information management system through the SQL SERVER database under B/S structure, and also the auxiliary way to implement the system using stored procedures, which can enhance the system’s performance and security.

Keywords: SQL Server; ASP.NET; Personnel information management; Stored procedures

一、引言

如我们所预料的一样,信息化的受关注程度已经超出了我们的期望,信息化从一定意义上来说也应该成为最受关注的话题,国家提出了“以信息化带动工业化、以工业化促进信息化”的战略,如其所阐述的一样,一个国家的经济发展速度以及能否持续发展,在某种程度上受信息化程度高低的影响[1]。目前,人们已经达成了共识,认为信息化建设的重要性不可质疑,下一个要面对的关键问题是如何有效地提升国内信息化水平。

高校的人事制度改革正处于进一步深化的过程中,其人事管理工作已经逐步转化为人力资源管理和开发,高校能否在激烈的竞争中生存和发展,取决于是否有优秀的教学和科研环境来提供人事保证。高校的人事管理信息系统已经成为组成数字校园的关键部分,其作用主要包括:(1)提供重要的教职工数据给全校的信息管理系统;(2)有效提高人事管理部门的质量和工作效率,为校领导决策提供及时和有效的数据信息。

在学校的教学和科研活动中,计算机起到了关键作用,计算机科技的发展与学校信息化的发展密切相关。学校是国内信息化建设较早的行业,也是目前较为成熟的行业之一[2]。在学校中,信息系统的建设成为了一个重要的基础设施,如同教室、校舍和实验室一样,成为了提高教育质量和学术水平所必须的支持环境,也成为了衡量学校办学水平和管理水平的重要标志,是学校建设和发展的必经之路[3]。

二、系统实现

本系统采用B/S(浏览器/服务器)结构,用户界面完全通过Web浏览器实现,一部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。与传统的C/S结构相比,B/S结构的应用范围更为广泛,建立在广域网或局域网上,不需要在客户端安装软件,即所谓的“瘦客户端”,升级等工作只需在服务器上完成,相比于C/S结构更加便于维护,且B/S结构程序兼容性好,可运行在不同的操作系统平台上。

从本系统的应用角度考虑,采用B/S结构相对于C/S结构更为合适,因为高校的客观环境可以组成较大的局域网,各院系都连接在这个局域网中,采用B/S结构不用为学校中的每台电脑都安装软件,减少了大量的工作,也解决了用户操作系统、软硬件环境有较大差异的情况。系统在逻辑上采用三层结构,将数据和表示数据的部分分离,它们之间通过应用/业务逻辑来控制信息的流向。这样可以方便程序的扩展,极大增加程序的易用性和扩展性。其中表现层主要是完成界面和与最终用户交互的功能;中间层用于封装商业逻辑和规则;数据访问通过中间层中的数据访问组件与SQL Server数据库交互。

人员信息管理主要实现人员信息的电子化管理,使信息管理工作更方便和准确,易于保存和查找,并且要提供各种信息检索方式。以招聘员工过程为例进行说明:

添加招聘信息:提供以下信息:职位名称、联系电话、招聘人数、报名截至日期、基本要求、其他的说明等等。修改招聘信息,对数据的修改可以直接完成,而数据又是动态的,也就是说其中的文本框都是动态生成的。那么,在做更新数据操作的时候就要想办法找到对应的信息。

首先,在aspx页面中定义这些文本框:

Text='<%# DataBinder.Eval(Container, "DataItem.number") %>' Width="40px"/>

这里面的数据用了DataBinder方法,在cs文件中使用SqlDataAdapter对DataSet进行填充。

更新时候的操作

DataGridItem _item = DataGrid1.Items[i];

System.Web.UI.WebControls.Labelsid=

(System.Web.UI.WebControls.Label)_item.FindControl("sid");

inid =sid.Text.Trim() ;

this.cm.Parameters["@id"].Value = int.Parse(inid);

this.cm.ExecuteNonQuery ();

这里使用了一个函数:

System.Web.UI.WebControls.Labelsid =

(System.Web.UI.WebControls.Label)_item.FindControl("sid");

找到对应的控件,然后在做更新操作的时候和前面的编号一起传入,保证更新的准确性。

应聘人员信息管理

使用GetTable()函数列出应聘人员的信息,在其中设置:

dr[6] = this.html.Html_link ("察看" ,

"showRequestDetail.aspx?id=" + rdr[0].ToString () ) ;

dr[7] = this.html.Html_link ("删除" ,

"deleteRequest.aspx?id=" + rdr[0].ToString () );

在上面的dr[6]和dr[7]实现了HTML的显示,要删除的时候,直接跳转到deleteRequest.aspx, 传递在数据库中信息的主键,然后在deleteRequest.aspx中根据主键删除掉信息,然后马上跳转回刚才的页面。

这里提供按各种方法查询人员的信息,可以按照姓名,身份证号,应聘职位察看,在这里同样可以对员工的笔试和面试成绩进行评价,同样使用了上面提到的FindControl方法。

三、结论

本文以人员招聘和应聘人员信息管理为例,举例说明了通过SQL Server数据库和ASP.NET实现人员信息管理的方法。在今后的工作中将致力于结合数据挖掘技术进行智能分析,提供决策支持系统,给学校的人事管理提供更有效的帮助。

参考文献:

[1]Chris Anley,“Advanced SQL Injection In SQL Server Applications”,An NGS Software Insight Security Research (NISR)

Publication 02002 Next Generation Security Software Ltd,http://www.ngssoftware.com

[2]陈小兵,张汉煜,骆力明,黄河.SQL注入攻击及其防范检测技术研究[J].计算机工程与应用,2007(11):15-18

[3]方舟,王霓虹.网络环境下SQL注入攻击常见方法和防御策略研究[D].黑龙江省计算机学会2007年学术交流年会论文集,2007年

[4]徐陋,姚国祥.SQL注入攻击全面预防办法及其应用[J].微计算机信息,2006(9):25-28

[5]梁玲.SQL注入攻击与防范研究[J].电脑开发与应用,2009(12):32-34

数据库实现的操作方法 篇6

在数据库管理和应用程序开发过程中, 往往需要数据库直接对磁盘文件进行I/O操作。Oracle数据库提供了UTL_FILE包用以来实现对服务器端磁盘文件的访问功能。怎样在实际应用中调用UTL_FILE包对磁盘文件操作, 我们将对这个问题来进行一下探讨。

1 UTL_FILE包简介

UTL_FILE是Oracle的内置包, 主要用于支持PL/SQL程序对服务器磁盘文件的访问和操作。下面列出了UTL_FILE包一些常用过程和函数 (省略参数) :

UTL_FILE包的工作机制是:首先要使用FOPEN函数, 将文件的路径、文件名以及打开模式的参数传入, 然后Oracle会到ALL_DIRECTORIES视图中查看路径是否已经创建。如果路径和文件名和合法, 则该文件被打开到一个file_type中, 然后可以进行各种操作, 最后使用FCLOSE函数将其关闭。

2 实例

下面通过一实例, 来实现通过调用UTL_FILE包将数据库人员信息Person表的中的数据, 导出到服务器E盘exp目录下生成并保存为Excel格式的文件。 (以下操作运行环境为win2003 server, oracle 10g)

查看Person表的表结构如下:

SQL>desc person;

名称是否为空类型

在访问磁盘文件之前, 首先要指定UTL_FILE包进行操作的目录。可以通过在INIT.ORA文件中设置utl_file_dir初始化参数, Oracle 9i以后的版本建议直接通过CREATE DIRECTORY来创建访问目录。

用CREATE DIRECTORY命令来创建访问目录

SQL>create or replace directory EXP_DIR as'E:exp';

授予目录读写权限给指定用户:

SQL>grant read, write on directory EXP_DIR to developer;

将数据输出到文件, 主要是通过Utl_file.Put和Utl_file.Put_line函数。由于Excel文件有特殊的格式, 我们在实际程序中将数据库查询结果每个字段的值通过Utl_file.Put逐行写入Excel文件。在输出每个字段时查询结果后面加上chr (9) , chr (9) 是标识TAB的空格字符, 从而保证在该字段输出后切换到下一列。本行数据输出结束后换行, 开始输出下一行, 直到完成所有数据写入。

创建存储过程, 为文件名和所在路径做为输入参数:

这样, 我们就通过执行存储过程将数据库person表的所有数据导出并保存在E:exp人员信息.xls文件中。

3 结束语

Utl_file包可以满足Oracle数据库应用中对磁盘文件进行操作的各种功能需求。我们在实际开发中, 灵活的运用Utl_file包的函数, 就可以轻松地实现对磁盘文件进行操作和管理, 开发出适合我们要求的数据库应用。

参考文献

[1]弗伊尔斯坦, 普瑞拜尔.Oracle PL/SQL程序设计[M].张晓明, 译.北京:人民邮电出版社, 2011.

[2]林行健.Oracle10g数据库管理应用与开发[M].北京:清华大学出版社, 2005.

数据库实现的操作方法 篇7

在Web编程中,绝大部分Web页面都要执行数据访问。ASP.NET的出现使开发人员不再需要编写大量的自定义代码,数据绑定和数据操纵都变得非常轻松。ASP.NET改进了数据绑定体系结构,并引入了新的组件作为数据绑定控件与ADO.NET对象之间的桥梁(如数据源对象)。这种基于数据绑定的声明性解决方案,使得许多常见的数据方案(如分页、排序、编辑和主/详细表等)实现起来,不再需要代码或需很少的代码。Grid View、Details View、SQLData Source也就成了开发人员最常用的服务器数据控件。

但在使用SQLData Source的智能标签来自动配置数据源时,如果配置的Select语句中不包含关键字段,则“高级Sql选项”对话框是不可用的。这也就是说只能自动生成查询语句,不能生成对指定记录操作的插入、更新、删除语句了。此时绑定到这个数据源的Details View这类数据绑定控件(以下简称View数据绑定控件)也是不能自动启用编辑和删除功能的。解决这类问题的关键是如何识别记录,如何将字段新旧值传递给数据源控件以完成数据操纵。

2 值传递关系

View数据绑定控件在数据操作事件中公开4个值字典,分别是:Keys、Values、New Values、Old Values。记录字段的新旧值将存放在这4个值字典中,通过值字典再将字段值传递给数据源的命令参数。

View类数据绑定控件的Data Key Names属性将指定哪几个字段是键字段,键字段和非键字段的新旧值分别存放在不同的字典中。View数据绑定控件在相应的数据操作事件中公开了访问值字典的一些方法,例如Grid View控件的Row Updating、Row Updated、Row Deleting、Row Deleted方法;Details View和Form View的Item Inserting、Item Inserted、Item Updating、Item Updated、Item Deleting、Item Deleted等。可以在这些事件中处理值字典,并对字段数据控件进行绑定,从而处理一些复杂的数据问题。

值字典在执行数据操纵命令时将按原名值对传递到数据源对应的命令参数中。但如果数据源有定义Old Values Parameter Format String属性,Keys字典(键字段的旧值)将传递到按该属性格式定义的数据源命令参数。如该属性设置为“Old_{0}”,名为“Role Id”的Keys字典的值,将传递到“Old_Role Id”数据源命令参数。

字段值、值字典和数据源命令参数3者之间的关系如表1所示。

其中:“O”表示旧值;“N”表示新值;“P”表示值传递到对应的数据源命令参数;“RP”表示值传递到重命名的数据源命令参数;

执行插入操作时,输入的新值将保存到Values字典中,传递到数据源时直接作为该数据源InsertCommand的参数(赋值给数据源InsertCommand的同名参数)。

执行更新操作时,修改后的新值将会保存到NewValues字典中,传递到数据源时直接作为该数据源UpdateCommand的参数。

执行更新和删除时,对键字段(Data Key Names属性中指定的字段),修改前的旧值将会保存在Keys字典中;传递到数据源时,根据数据源的Old Values Parameter Format String属性重新命名后,再作为该数据源的Update Command或Delete Command的参数。对非键字段(Data Key Names属性中未指定的字段),更新操作时的旧值将会保存在Old Values字典中,而删除操作时的旧值将会保存在Values字典中;非键字段的旧值数据字典将不传递到数据源。

3 解决复杂数据操作的方法

下面以角色权限分配为例,谈谈通过访问值字典解决这类问题的办法。

现有授权表Authorize(Role Id,Module Id,AuthorizationList)和权限类型表Authorize Type(Type Name)两个表。对Authorization List字段想采用“/”分隔的格式(如“访问/添加/更新”)记录授权字符串,在编辑时则采用Check Box List复选框组进行选择。

按以下步骤进行Authorization List列的设计,将解决字符串无法与Check Box List控件直接进行数据绑定的问题:

3.1 编辑模板列

(1)建立查询Authorize Type表的数据源。

(2)将Authorization List绑定列转换为模板列。

(3)编辑Authorization List模板列的编辑模板:将Text Box控件替换为Check Box List控件;为Check Box List选择相应的数据源;因为字符串无法与Check Box List进行绑定,所以不要编辑Data Bindings。

(4)将编辑模板中的Check Box List对象复制到插入模板中。

(5)结束模板编辑。

3.2 添加操作

(1)设置数据源Insert Query的命令文本:

(2)建立根据Check Box List的选定项返回授权字符串(例如“访问/添加/更新”)的方法:

(3)编辑Details View的Item Inserting()事件:

第二条语句在Values字典中添加名为Authorization List的名值对。此时Values字典中已存在Role Id和Module Id这两个键,但因为Check Box List对象并没有绑定到的AuthorizationList字段,所以不会自动在字典中创建该字段的名值对,必须用编程的方式添加。添加的名值对的值会赋值给数据源插入命令的同名参数,以完成插入操作。

3.3 删除操作

(1)设置数据源Delete Query的命令文本:

(2)对于删除操作无需特别设置。Data Key Names属性已设置为“Role Id,Module Id”,删除操作时自动将这两个关键字段的值传递到Keys字典,然后再将该字典每个键的值赋值给数据源删除命令的按旧值参数格式命名的参数(@Old_Rold Id,@Old_Module Id)。如果要在删除前进行校验,可在Item Deleting或Row Deleting事件中调用Keys字典。

3.4 更新操作

(1)设置数据源Update Query的命令文本:

(2)建立根据授权字符串设置Check Box List复选框组选定项的方法:

(3)将Authorization List添加到Data Key Names属性中。这样做的目的是为了在数据绑定事件中访问该字段的初始值,以设置编辑控件呈现初始值。因此在Data Key Names属性中除了包括标识记录的关键字段外,还应该包括不能进行数据绑定或要进行特殊处理的字段。

(4)编辑Details View的Data Bound()事件,以呈现Authorization List的初始值;

第4行语句通过DataKey获取修改前的授权清单字符串。

第5行语句设置CheckBoxList的选定项以呈现初始值。

(5)编辑DetailsView的ItemUpdating()事件,以确定AuthorizationList的更新值;

第一条语句获取复选框对象。

第二条语句获取授权清单字符串。

第三条语句在New Values字典中添加名为Authorization List的名值对。此时New Values字典中已存在Role Id和Module Id这两个键,但因为Check Box List对象并没有绑定到的某字段,所以不会自动在字典中创建该名值对,必须用编程的方式添加。添加的名值对的值会赋值给数据源更新命令的同名参数,以完成更新操作。

4 结语

只有真正理解了像Details View这类数据绑定控件的值字典与数据源命令之间的参数传递关系,才能在处理像数据操纵预处理或后处理这类更复杂的操作时做到得心应手。

摘要:详细阐述了ASP.NET中View类数据绑定控件的值字典与数据源命令参数之间的值传递关系,并以角色权限分配为例子,在View类数据绑定控件中,通过对值字典的访问,实现了编程绑定字段值与数据控件这类复杂的数据操作。

关键词:.NET,SQLDataSource,Values,数据绑定控件,字典

参考文献

[1]微软.MSDN技术资源库[DB/OL].http://msdn.microsoft.com/zh-cn/library.

[2]郝冠军.ASP.NET本质论[M].北京:机械工业出版社,2011.

数据库实现的操作方法 篇8

关键词:JDBC,MySQL数据库,Java语言

一、引言

众所周知, Java语言具有很强的安全性, 支持跨平台、面向对象和适用于网络等技术特点, 特别是对网络具有良好的支持效果, 所以Java语言在网络开发方面得到了迅速的广泛应用, Java语言是当前对网络技术支持最全面、与网络关系最密切的一种面向对象的计算机语言。而我们在应用网络时更离不开数据库的支持, 对数据库的操作在任何语言中都占据很重要的位置, 也可以说如果没有数据库的存在就没有计算机语言的应用对像, 对于Java语言也是如此。目前, 市面上的主流关系型数据库服务器主要有, 微软公司开发的SQLServer数据库、甲骨文公司开发的My SQL数据库和Oracle数据库等, 在用Java编程语言对SQL Server数据库进行连接的过程中, 往往需要比较烦琐的系统环境配置, 所以当选择Java语言开发项目的时候, 在数据库服务器的选择配备方面, 多数时候会使用My SQL数据库或Oracle数据库。其中, 中小型企业的项目开发一般会选择使用My SQL数据库, 在大型企业开发较复杂的项目时, 大多会选用Oracle数据库[1]。

二、什么是 JDBC 技术

JDBC ( Java Data Base Connectivity, java数据库连接) 是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一访问, 它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API, 据此可以构建更高级的工具和接口, 使数据库开发人员能够用纯Java API编写数据库应用程序[2]。

有了JDBC技术后, 再向各种关系数据发送SQL语句就是一件很容易的事。换而言之, 使用了JDBC API, 就不必为访问Sybase数据库专门写一个程序, 为访问Oracle数据库再专门写一个程序, 或为访问SQLServer数据库又要编写另一个程序等等, 程序员只要用JDBC API写一个程序就足够了, 它可经向相应的数据库发送SQL调用。同时, 将Java语言和JDBC结合起来后, 使程序员不必再为不同的平台去编写不同的应用程序, 只需编写一遍程序就可让它在任何平台上执行, 这也是Java语言“编写一次, 处处运行”非常显著的优势。

而作为Java API, JDBC为程序开发提供标准的接口, 并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准, 如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。而这种实现则称为JDBC的驱动程序 ( JDBC Driver) 。

JDBC的驱动程序可分为以下四个类型[3]:

第一种类型的驱动程序是基于JDBC - ODBC桥。因此ODBC驱动程序可以与此类JDBC驱动程序 ( 由Sun提供) 结合起来使用。IBM不支持种类型的驱动程序, 因此它不是推荐的环境。图1显示了JDBC - ODBC驱动程序的示例:

第二种类型的驱动程序依靠特定于操作系统的库 ( 共享库) 来与RDBMS通信。应用程序将装入这种JDBC驱动程序, 而驱动程序将使用共享库来与DB2服务器通信。通用JDBC驱动程序在文件db2jcc. jar中提供。可以使用JDBC第二类驱动 程序来支 持JDBC应用程序。WebSphere Application Server同时支持这两种驱动程序。图2显示了使用JDBC第二类驱动程序的应用程序的典型拓扑结构。

第三种类型的驱动程序是一种纯Java实现, 它必须与DB2 JDBC Applet服务器 ( DB2 JDBC Applet Server) 通信才能访问DB2数据。此类驱动程序旨在使Java applet能访问DB2数据源。在图3所显示的方案中, 应用程序与安装有DB2客户机另一台机器进行通信。

第三类驱动程序要求db2java. zip驱动程序总是处于与DB2 Applet服务器相同的维护级别。如果驱动程序在applet内使用, 这就不是一个问题, 因为浏览器会在应用程序执行期间下载相应的db2java. zip文件。将来的版本也不会对第三类驱动程序进行增强。我们鼓励使用通用JDBC第四类驱动程序来替代第三类驱动程序。

第四类JDBC驱动程序是仅用于Java的JDBC驱动程序, 它直接连接到数据库服务器。通用JDBC驱动程序在文件db2jcc. jar中提供。通用JDBC驱动程序是一种与驱动程序类型连通性或目标平台无关的抽象JDBC处理器。通用JDBC驱动器是一种与体系结构无关的JDBC驱动程序, 用于进行分布式和本地DB2 UDB访问。因为通用JDBC驱动程序独立于任何特定JDBC驱动程序类型连通性或目标平台, 所以它在一个DB2 UDB驱动程序实例中同时支持所有Java连通性和基于JNI的连通性。该驱动程序可以用于独立Java应用程序或多层应用程序。图4中显示了Type 4 JDBC驱动程序实现。

总之, JDBC实现了三方面的功能:

1) 建立与数据库的连接;

2) 执行SQL声明;

3) 处理SQL执行结果。

三、安装和创建 My SQL 数据库

My SQL数据库是一种较流行的开源关系型数据库, 可以从http: / /www. mysql. com/downloads/免费下载。本文中所使用的My SQL版本为5. 6. 17, 运行此目录下的setup. exe应用程序来安装My SQL数据库, 安装路径可以自行选择, 如安装到D: javadevmysql。

创建数据库之前应首先启动My SQL服务器, 在开始菜单的安装目录中启动My SQL数据库, 这个时候需要输入安装时为root用户设置的密码。接下来在弹出的对话框中输入数据库创建命令创建数据库, 如下所示:

mysql > CREATE DATABASE test;

其中, test为新建数据库的名字, 我们要用这个库来进行对数据库的连接测试。

四、连接和测试数据库

首先要介绍My SQL的JDBC驱动程序的使用方法, 然后通过一个示例来讲述如何测试My SQL的JDBC连接性[4]。

下载并安装My SQL的JDBC驱动包。

要想使用JDBC访问My SQL数据库, 那么必须要先去下载JDBC驱动程序。常用的方法有: My SQL Connector/J。My SQL一般推荐使用My SQL Connector / J这个驱动程序, 可以在http: / /dev. mysql. com/downloads/connector/j/找到并下载。在本篇文章中, 使用Connector/J 5. 1这个版本。mysql - connector - java - 5. 1. 7 - bin. jar就是这个驱动程序的压缩包, 并且要将该jar文件配置到CLASSPATH环境变量中。

测试连接和操作案例。

本示例在My SQL数据库test上运行所生成的输出结果, 它使用My SQL Connector/J 5. 1驱动程序, 开发工具为jdk1. 6. 0_07。

1) 加载驱动程序信息: 使用Class. for Name ( ) 方法加载My SQL的JDBC驱动程序, 完成Class. for Name ( ″org.gjt. mm. mysql. Driver″) ; 本例中My SQL的驱动类型作为参数传递到方法里。

2) 与My SQL数据库建立连接: 通过Driver Manager类的get Connection方法可以建立连接。其语法格式为: Connection conn = Driver Manager. get Connection ( url, username, password) ;

url是指定要连接数据库的URL, My SQL数据库的url形式为jdbc: mysql: / /localhost: 3306 /test

username, password为数据库的用户名和密码。在本实例中username是root, 密码是root, 在与My SQL数据库的test库建立连接时这些都作为参数在程序运行时给出。

3) 完成本例驱动程序的载入和连接数据库后, 我们就可以对数据库进行具体操作, 用以测试JDBC的连通性。DBUtil. java载入提供商驱动程序的信息, 并创建用于连接数据库的URL。通过这种方式, 不需要对数据库的URL进行硬编码, 并将数据库的信息添加到程序片段如下:

通过此程序就可以查出student表中的所有数据, 如图5所示:

五、结束语

目前, 面向对象的Java语言已成为软件开发当中最常用的计算机语言之一, 许多Web应用开发中采用Oracle、Sybase、SQLServer、My SQL等作为后台的数据库, 而JDBC技术的出现, 为Java Web应用程序提供了访问数据库的用户接口, 软件开发人员可以方便快捷地在Java语言中调用SQL语言, 从而使Java语言的Web应用程序或Java applet客户端小应用程序, 可以实现对分布在网络上的各种关系数据库的访问。

参考文献

[1]雍俊海.Java程序设计[M].北京:清华大学出版社, 2004.

[2]JDBC 3.0 Specification.SunMicrosystem Inc, 2001.

[3]http://java.sun.com/docs/books/tutorial/jdbc.

电子表格的数据加密操作方法与原理 篇9

鉴于采用上述方法使文件部分数据能够被非法用户得到, 我们采用对整个文件进行加密, 极大地增加了安全性, 原理如下:整个系统有两个模块构成, 加密模块encrypt和解密模块decrypt。当需要加密文件时, 命令格式为:encryptexcel文件名。当需要解密文件时, 命令格式为:decryptexcel文件名。

加密原理为:假设文件原始内容为M, 用户随机选定一个密钥为P, 然后M和P异或运算得到密文C。即:。

解密原理为:密文C和密钥P异或运算得到原始内容。即:

实际上, 只要对加密文件再加一次密, 即得原始文件, 即只需一个加密模块即可。

实现主要代码如下:

二、表格自身的加密

对于Excel文件, 可认为有工作簿组成, 而工作簿由若干工作表组成。因此, 基于Excel本身, 可采取两种保护方法:工作表保护和工作簿保护。

1、工作表保护。

点击“工具”—>“保护”, —>“保护工作表”, 可以设定密码保护你的工作表, 以防止自己无意的修改或他人未经授权的修改。此功能可使非法用户只能看到工作表内容, 但无法对文件进行修改。如果用户想在总体保护表的情况下对表的个别数据进行修改, 可在保护工作表之前, 设置“单元格格式”-“保护”选项, 选择锁定或隐藏复选框。取消锁定则在保护工作表之后仍可修改此区域数据。设置隐藏可使保护工作表之后, 隐藏公式数据。

2、工作簿保护。

Excel为用户提供了二种方式来保护工作薄。点击“工具”—>保护”—>“保护工作簿”, 可以设定密码保护你的工作簿的结构和窗口。保护“结构”, 是指工作簿中的工作表将不能进行移动、删除、隐裁、取消隐跟或重新命名, 不能插入新的工作表。保护“窗口”可以在打开工作簿时保持窗口的固定位位置和大小。

上述两种方法存在一些问题:即在保护之后, 非法用户虽然无法修改文件内容但仍能看到文件内容, 从而泄露重要数据。因此这两种可认为是对合法用户 (管理员) 起到一定的防止误操作的辅助手段, 无法从根本保护数据不被泄露。

3、文件口令保护。

点击“工具”—>“选项”, —>“安全性”可以设定打开权限密码或修改权限密码保护你Excel文件。

设置打开权限密码之后, 在没有输入正确的密码之前, Excel将不允许用户打开这一Excel文件, 从而也就无法看到文件内容。设置修改权限密码之后, 在输入打开权限密码后, Excel文件将继续要求您输入修改密码, 如果密码无效, 则只能以只读方式打开。但是这种方法打开之后, 如果做了修改, 系统会提示你另存文件, 另存之后, 新的文件修改密码自动失效, 打开密码仍起作用。

三、表格中单元格的加密

在实际应用中, 我们有时并不需要加密所有数据, 如职工工资表, 我们只需对工资数据等设计个人隐私的信息进行加密, 而诸如职工名、性别、籍贯等不敏感信息则不需要保护。在这种情况下, 我们可将加密单位设计为单元格, 从而更方便用户的使用, 并且加密更加安全具体。对于单元格的加密, 我们采用VBA编程技术。比如, 要对应发工资这一项进行加密保护。主要代码如下:

这样非法用户看到的只是一些无实际意义的信息, 从而保护了加密信息, 如需解密, 再执行一次即可。对其他重要的信息方法类似。不再说明。下一步, 我们将考虑并设计更加安全并方便用户使用的保护方案。

参考文献

[1]张丹、乔春华:《EXCEL工作表的保护》.内蒙古科技与经济.2004.22

数据库实现的操作方法 篇10

关键词:串口通信,VxWorks,嵌入式操作系统

串行接口在嵌入式系统中是一种重要的数据通信接口, 其本质功能是作为CPU和串行设备间的编码转换器。在发送数据时, 数据从CPU经串行端口, 字节数据转换为串行的位;在接收数据时, 串行的位转换为字节数据。应用程序在使用串口通信时, 关键是使用之前向操作系统提出资源申请要求, 使用结束后释放资源。在VxWorks环境中, 对串口通信的开发方法有多种, 可以实现不同程度的通信。

1. 开发串口通信软件的步骤

对串口通信的开发有一定的流程和方法, 可以方便地实现通信软件的各种功能, 但是各种方法都有各自的优势。按照通用的实现通信的流程, 结合自己的编程思路把编制串行通信软件分为六个部分如下:

1.1 配置环境

修改通用配置文件Tornadotargetconfigpc486config.h;在Tornado下执行Project>Make PC486>Common Targets>clean命令删除以前的文件, 执行Project>Make PC486>Boot Rom Targets>bootrom_uncmp命令编译生成bootrom_uncmp;再选择VxWorks Target编译生成vxworks。

1.2 打开串口

在VxWorks中, 将I/O系统设计成为任何类型的设备提供一个简单、统一、独立于设备的接口, 任何对于串口的操作都可以视为对一个文件的操作, 而不必了解串口设备或程序驱动实现的细节。

1.3 配置串口

VxWorks提供终端和伪终端设备驱动。Tty驱动针对实终端;pty针对仿真终端的程序。Tty设备有两种操作模式:raw模式和line模式。在raw模式下, 每个刚从设备输入的字符对读者都是有效的;在line模式下所有输入字符被存储, 直到NEWLINE字符输入。设备选项字使用带FIOSETOPTIONS功能的ioctl () 程序来设置。

1.4 读取串行端口信息

当串口发生EV XCHAR (接收到字符并放入一个输入缓冲区) 消息后读取串口、数据传输错误处理、字符串处理如回车符、空格并相应转化成数据。

1.5 写串行端口信息

将要发送的信息写入串口, 相应进行错误处理。

1.6 关闭串口

关闭事件, 清除通信事件, 丢弃通信资源并关闭。

2. 实现串口通信的方法

实时操作系统开发工具Tornado是一整套强有力的交叉开发工具, 能够连接目标机和宿主机的通信选项, 如以太网、串行线路等, 能够支持Windows、VxWorks等流行的工作平台和PowerPC、ARM等目标处理器, 提供的工具可用于目标机, 并具有系统模式和任务模式两种调试模式。

2.1 在程序中加入下列头文件

2.2 打开串口

2.3 配置串口

2.4 串口接收数据

2.5 串口发送数据

2.6 关闭串口

参考文献

[1]徐惠民.基于VxWorks的嵌入式系统及实验.北京:中国邮电大学出版社, 2006.09

[2]陈智育, 温彦军, 陈琪.VxWorks程序开发实践.北京:人民邮电出版社, 2004.05

上一篇:“猫”动物词汇下一篇:临床实验室管理