|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。ado|会见|数据|数据库<Pstyle="TEXT-INDENT:2em">Microsoft公司供应了一致的数据会见接口ActiveXDataObject,简称ADO。但实践使用编程中,会见分歧的数据库,如Access、SQLServer或VFP,会存在一些“渺小”不同,经常有如许的情形,用ADO工具会见某一数据库的程序都调试经由过程了,但用一样的程序会见其他数据库就存在如许或那样的成绩,反之也一样。这类不同就笔者来看仿佛没甚么意义,由于都是一个公司的产物;固然这类不同未几,但要弄清它的前因后果,足以利用户忙乎一阵子,a无故增添了用户的包袱。上面,本文就谈谈有关SELECT语句在会见分歧数据库方面的一些不同。<Pstyle="TEXT-INDENT:2em">在SQLServer、Access、VFP三个数据库平分别有以下的如许一个表名都为“Employee”的数据表。<Pstyle="TEXT-INDENT:2em">会见日期型字段的不同<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在年夜多半情形下用SELECT语句分离往会见这三个数据库的这张表,没有甚么区分,即你若编写了会见SQLServer数据库的SELECT语句,一样可用于会见Access数据库或VFP数据库,只需将毗连的数据源改一改便可。但你若要对“出身年代”这一日期型字段举行查询的话,成绩就来了,比方要查询1980年1月1日至1985年12月31日的员人为料,会见SQLServer中的数据表的语句是:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Select*fromemployeewhere出身年代between1980-01-01and1985-12-31<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">假如想固然地用这条语句往会见Access数据库那就年夜错特错了,必需加上函数DateValue(),准确的写法以下:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">Select*fromemployeewhere出身年代betweenDateValue(1980-01-01)andDateValue(1985-12-31)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">假如要会见VFP日期型字段又必需接纳以下这类写法:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">select*fromemployeewhere出身年代between{^1980-01-01}and{^1985-12-31}<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">以上是SELECT语句关于会见分歧数据库的日期型字段的不同,不懂得这类不同,你会被弄得蒙头转向,不知错在那里。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">统计方面的不同<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">对上例的Employee数据表,按部门统计总人为和人数,就用VB来编写一段统计和显现的代码,若已创建了毗连工具Conn,纪录集工具RS,并已毗连到某一数据源,详细代码以下所示:<Pstyle="TEXT-INDENT:2em">- 翻开毗连工具Conn可翻开SQLServer、Access、VFP数据源conn.CursorLocation=adUseClient创建游标至客户端……rs.Open"select部门,sum(人为),count(*)fromemployeegroupby部门",connSetDataGrid1.DataSource=rs将Rs绑定到DataGrid1控件并显现……
复制代码 <Pstyle="TEXT-INDENT:2em"> 能够看到分离会见SQLServer、Access、VFP这三个分歧的数据库中的Employee表所发生的统计表的字段名各不不异,(如、、)。对SQLServer中的数据表统计不发生字段名;对Access中的数据表统计发生了诸如“Expr1001”、“Expr1002”等的统计字段名,而对VFP中的数据表统计则发生“sum_人为”、“cnt”的统计字段名。这固然不是很年夜的成绩,也不会像上例那样假如写错日期型字段的格局,程序会停止运转,但究竟有所分歧,晓得了这些由来能够在编程中制止这些“渺小”的不同所带来的诸多懊恼。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">要办理这一成绩,使会见分歧的数据库有一致的代码和一致的显现界面,那就在写SELECT语句时必定要在统计字段前面加上as列名,该列名可任取,以下例修正后的代码:<Pstyle="TEXT-INDENT:2em">- ……rs.Open"select部门,sum(人为)as总人为,count(*)as人数fromemployeegroupby部门",conn……
复制代码 <Pstyle="TEXT-INDENT:2em">修正后的代码实行后如所示,今后若想挪用统计字段,只需挪用“总人为”或“人数”便可。
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。 |
|