仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 737|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET编程:ASP.NET 2.0初级数据处置的地方理Null值

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:47:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。asp.net|初级|数据  数据控件撑持多种用于处置空值或缺掉数据的办法。比方,GridView、FormView和DetailsView都撑持EmptyDataText或EmptyDataTemplate属性,当数据源没有前往数据行的时分,你可使用这些属性来指定控件显现的内容。我们只必要设置EmptyDataText和EmptyDataTemplate个中的一个(假如两个都设置了,EmptyDataTemplate会被重载)。你也能够在绑定字段(和衍生的字段范例)、模板字段或数据源参数工具上指定ConvertEmptyStringToNull属性,指明在挪用相干的数据源操纵之前,来自客户真个String.Empty值必需被转换为空值。

  ObjectDataSource也撑持ConvertNullToDbNull属性,当相干的办法请求用DbNull取代空值(VisualStudio数据会合的TableAdapter类就有这个请求)的时分,我们就能够把这个属性设置为真。你还能够指定绑定字段(和衍生的字段范例)的NullDisplayText属性,当数据源前往的某个字段的值为空的时分,它指定显现的内容。假如在编纂形式中这个值没有产生变更,那末在更新操纵中这个值会以空值的情势前往给后端数据源。最初,你还能够指定命据源参数的DefaultValue属性,假如某个传送出去的参数值为空的时分,该属性就给参数指定默许值。这些属性是"链式反响"的,比方,假如ConvertEmptyStringToNull和DefaultValue都被设置了,那末String.Empty值会起首被转换为空(null),接着被转换为默许值。

<asp:DetailsView…...>
 <Fields>
  <asp:BoundFieldDataField="Phone"HeaderText="Phone"NullDisplayText="notlisted"SortExpression="Phone"/>
  <asp:BoundFieldDataField="Fax"HeaderText="Fax"NullDisplayText="notlisted"SortExpression="Fax"/>
 </Fields>
 <EmptyDataTemplate>
  <asp:ImageID="Image1"runat="server"ImageUrl="~/Images/warning.gif"/>Therearenorecordstodisplay
 </EmptyDataTemplate>
</asp:DetailsView>
<asp:SqlDataSource……>
 <UpdateParameters>
  <asp:ParameterName="ContactTitle"Type="String"DefaultValue="Owner"ConvertEmptyStringToNull="true"/>
  <asp:ParameterName="Region"Type="String"ConvertEmptyStringToNull="true"/>
  <asp:ParameterName="Phone"Type="String"ConvertEmptyStringToNull="true"/>
  <asp:ParameterName="Fax"Type="String"ConvertEmptyStringToNull="true"/>
  <asp:ParameterName="CustomerID"Type="String"/>
 </UpdateParameters>
 ……
</asp:SqlDataSource>
  你可使用这些处置空值的属性来完成下拉列表过滤器,让它入手下手时显现数据源的一切值,直到过滤器中的某个值被选中为止。我们是如许完成它的:起首给下拉列表增加一个空字符串值的数据项,并设置数据源中的与下拉列表相干的ControlParameter(控件参数)的ConvertEmptyStringToNull属性。

  接着在数据源的SelectCommand中,你能够经由过程检测空值来前往一切(没有过虑)值。上面的例子演示了这类手艺,它利用了一个复杂的SQL命令,固然你也能够在存储历程的完成中实行空值检测。请注重下拉列表的AppendDataBoundItems属性的利用,它同意来自下拉列表数据源的值被增加到"ALL"(这个项是我们静态增加的)数据项前面。同时我们要注重,在默许情形下,假如传送给SelectCommand的相干参数的值中只需有一个为空,SqlDataSource就不实行Select操纵。当传送了空值的时分,为了强迫Select操纵实行,你能够把它的CancelSelectOnNullParameter属性设置为假。

<asp:DropDownListAppendDataBoundItems="True"AutoPostBack="True"DataSourceID="SqlDataSource2"DataTextField="state"DataValueField="state"ID="DropDownList1"runat="server">
 <asp:ListItemValue="">ALL</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSourceConnectionString="<%$ConnectionStrings:Pubs%>"ID="SqlDataSource2"runat="server"SelectCommand="SELECTDISTINCT[state]FROM[authors]">
</asp:SqlDataSource>

<asp:SqlDataSourceConnectionString="<%$ConnectionStrings:Pubs%>"ID="SqlDataSource1"runat="server"SelectCommand="SELECTau_id,au_lname,au_fname,stateFROMauthorsWHEREstate=IsNull(@state,state)"CancelSelectOnNullParameter="False">
<SelectParameters>
 <asp:ControlParameterControlID="DropDownList1"Name="state"PropertyName="SelectedValue"Type="String"/>
</SelectParameters>
</asp:SqlDataSource>兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!
精灵巫婆 该用户已被删除
沙发
 楼主| 发表于 2015-1-19 23:43:47 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-28 15:32:26 | 只看该作者
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
再现理想 该用户已被删除
地板
发表于 2015-2-5 20:27:41 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
因胸联盟 该用户已被删除
5#
发表于 2015-2-13 08:25:38 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
柔情似水 该用户已被删除
6#
发表于 2015-3-3 17:52:06 | 只看该作者
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
山那边是海 该用户已被删除
7#
发表于 2015-3-18 10:47:48 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
老尸 该用户已被删除
8#
发表于 2015-3-25 18:15:14 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 04:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表