数据关键在于访问和处理

事实上,很明显最重要的不是在哪里存储,(在某些情况下)也不似如何存储数据。问题的关键所在还是我们如何去访问并处理这些数据——无论它们以何种格式存放、位于何处。正如我们采用的XML并设计.NET数据访问库的原因所在。因此,在执行一个数据存储时我们要考虑哪些问题呢?而哪种数据访问技术又是最合理的呢?问题的答案更多的基于数据的特征,以及我们要以何种方式使用这些数据。例如,高度结构化的数据,如股票列表或客户的信息,适合用关系型数据库如SQL Server、Oracle或桌面系统的MS Access来存储。但是,非结构化的数据,如报表、数据表、电子邮件消息、家谱和其他一些日用信息,则更适合用XML的树状隐喻来存储。

使用数据存储过程

我们已经知道如何使用SQL语句直接从数据源提取数据。而在实际的应用程序中,更好的办法是使用数据仓库中的存储过程来返回所需的数据集。这样可为用户提供一个更好的性能,同时能更好地控制访问许可,而且还有助于在那些好奇的用户面前隐藏数据仓库表的具体内容。

在传统的ADO中,.NET数据访问类能够像处理SQL语句那样轻而易举地处理存储过程。最简单的存储过程只需要我们指定过程的名称,它们就会返回一组无法由ASP代码控制的结果。不过存储过程是可写的,这样它们就可以接受参数。而这就允许由设定参数值和调用过程的ASP代码来控制所返回行集的实际内容。

SQLXML属性技术的应用

使用SQLXML属性将数据从SQL Server中提取为XML的技术,对于当今的数据库开发人员来说是非常有用的,而且它特别快捷有效。要在.NET总支持SQLXML,只需要简单地包含一个选项,以此来返回一个可以保存XML文档片段的对象。该对象可以代替关系数据中所提到的DataReader对象。

这个方法实际上是用于关系数据访问的Command对象中可用的执行方法的一种特殊形式,它可以返回一个XmlReader对象。这种方法(理所当然)被称为ExecuteXmlReader。如何在页面中用代码实现该方法。首先,我们收集了来自自定义用户控件的字符串,然后创建一个可以提取XML所需的SQL语句。

验证XML文档的有效性

一个有效的XML文档,必须遵守由W3C指定的特定的标准,特别是要“格式良好”。换句话说,要是我们的XML文档有效,必须符合以下的条件:

一、只有一个根元素,该元素包含了除文档声明以外的所有其他内容,它用于处理说明和注释。

二、所有的开始标记都有结束标记与之匹配(或者是使用一种用正斜杠符合来终止元素的简单写作语法)。

三、嵌套表格要正确,以便将元素完全包含在内。也就是说,当元素师其他元素的子元素时不能打开它,而且不能再关闭子元素之前先关闭父元素。

四、只包含有效字符。必须避免所有无效内容,或者用正确等价实体来代替,例如用&来代替&。

使用表和列的映射

我们在处理DataSet和DataTable对象时,最后要考虑的问题是我们如何对列和表指定自定义的映射。当我们在DataSet中,从诸如关系数据库的数据源填充数据表时,我们可以指定DataSet中数据表的名称,作为DataAdapter对象的Fill方法的第二个参数(可选的)。如果我们不提供这些内容,那么数据表将和数据库中的源表具有相同的名称。不过在这种情况下,我们队新填充的表中列的名称没有直接控制。它们自动采用了由存储过程,表名或者填充表的SQL语句所返回的列名。

不过,同时在DataSet中指定表和列的名称是很方便的。这样,我么可以创建可重复使用的代码,它能够自动地把数据映射到正确的列和表的名称中。这样做也可以简单地调用Update方法,使对数据的改变返回到数据库中。

对数据分类和筛选

关于DataTable和DataView对象的问题,在网站建设编码过程中一旦我们用数据装载了DataTable或DataView对象,我们并不是真正想要返回到数据存储,而且也不是在每次我们把行分类为不同阶时再重新装载,或者筛选行以便只有行的子集被显示。值得庆幸的是,DataTable和DataView对象都具有分类的筛选功能,而他们在对象之间工作的方式是有原则上的不同的。

数据源控件提供多种数据服务,这样将高级功能添加到应用程序会变得更加容易。这包括根据指定的搜索条件筛选数据。筛选对于使用缓存数据尤其方便,因为您无需重新运行查询或调用读取数据的方法就可以提供搜索功能。

使用一个存储过程和一个Command对象

在网站建设编码过程中通常更倾向于使用数据存储中定义一个存储过程来实现数据的更新。存储过程能够提供更高的性能,能够对那些好奇的用户实现数据库表结构的隐藏,并对安全权限进行更有效的管理,利用一个存储过程而不是一个SQL语句来实现。在从数据存储中提取数据的时候使用一个存储过程和一个Command对象与使用一个SQL语句从根本上来说是一个相似的过程。

在使用一个Command对象来运行一个用来更新源数据的存储过程中,这个名为AddNewBook的存储过程是利用我们所提供的SQL脚本在数据库WroxBooks中创建的。它使用为存储过程提供的参数的值想BookList表中插入一个新行,如果这个操作成功实现,则返回零值。

事务处理的Transaction对象

在ADO.NET中,有两个实现事务的对象,一个是用于SQL Server(通过TDS)的SqlTransaction对象,另一个则是适用于OLE-DB提供者的OleDbTransaction对象。
网站建设的数据库技术ADO.NET中,有两个实现事务的对象,一个是用于SQL Server(通过TDS)的SqlTransaction对象,另一个则是适用于OLE-DB提供者的OleDbTransaction对象。调用当前Connection对象的BeginTransaction方法就可以开始一个事务,这个方法在连接上开始一个事务,在事务得到确认或回退前所有通过连接对数据所做的后续修改都是这个事务的一部分。它返回一个Transaction对象,必须将这个Transaction对象赋给所有被注册到这个事务中的Command对象。

在Dreamweaver中如何加入竖直线

设计师朋友们都知道,常常用一个像素高或宽的细线条做修饰,会使得网站网页布局显得非常清晰,从整体的视觉效果上去看,非常大方美观。本人一惯运用Dreamweaver编辑和制作网页,故而在认真拜读《巧妙地在Frontpage中给网页加入一条竖直线》的一篇文字后,利用文章中所提到的第二个方法,在使用Dreamweaver设计网页时,给网站网页之中加入了一条竖直线。

各位可以依葫芦画瓢,按照《巧妙地在Frontpage中给网页加入一条竖直线》这篇文章所讲述的第二种方法进行工作。我的具体操作是:在Dreamweaver当中插入一个表格,将单元格边距和间距均设置为0,表格宽度设置为1个像素,还要蓝色作为背景颜色。当确认设置无错误之后,按F12按钮进行预览。当这时候,我发现网页没有如我所愿出现竖直的细线条,我明白无误地进行了准确的设置,但是却不能出现想象中的竖直细线条,真的让我非常郁闷!
 
这究竟是何原因呢?我首先打开Dreamweaver源代码的窗口,经过仔细观察和分析,看到了设置为1像素宽的单元格中有个“&nbsp”的标记,这个标记可以判断是HTML之中的转义符,在浏览器输出为一个单位空格。我发现了这个标记才恍然大悟,肯定就是这么一个标记在作祟!我于是将这个标记删除,然后再次打开网站的网页,终于成功地设置了竖直细线条!    应该注意的是,在Dreamweaver之中插入表格,肯定会自动在每一个单元格之中加上“ ”的标记,恰恰就是这个简单的标记,弄得设置为1像素宽的单元格,在浏览器之中显示时多了一个空格,就是它把单元格撑大了。

jsp:include的动作标示

动作标示是由我们的JSP提供的使用的XML语法写成的,这些标示可以用来实现特殊的效果,比如我们的请求转换,我们当前页面中包含其他文件,或者在一个页面中创建了一个JavaBean实列。
 
动作标示也是顺序执行的,只有执行了此程序之后,才可以实现我们的动作标示,这个动作标示,都是先翻译,然后再翻译成Servlet.
 
用于当前页面中包含了其他文件,这个文件可以动也可以静,有两种方法可以实现此动作标示,,第二种就是要传递参数的, 如果是/这个路径是绝对路径,没有此符号那句是相对路径。 Flush这个属性:表示缓冲区充满的时候,我们是否清空缓存,我们一般都是需要清空的,但是不写的话,默认就是没有清空内存。
 
这个表示表示我们的动态页面中传递参数。此动作标示对文件的不同,它相应的处理方式也是不同的,如果是静态文件,它将输出这个动态文件的内容,如果是一个动态的文件,那么编译器就会编译后再执行此动态文件,我们虽然无法识别,但是动作标示,会自动识别出该文件类型。

«383940414243444546474849505152»
最近发表
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
搜索
Tags列表
网站收藏
图标汇集
  • 订阅本站的 RSS 2.0 新闻聚合
友情链接

热门搜索: 外链域名 高外链域名 高收录域名

Copyright www.thyst.cn. Some Rights Reserved.