仓酷云

标题: ASP网页编程之第十三课:数据库查询言语(2) [打印本页]

作者: 小魔女    时间: 2015-1-16 22:27
标题: ASP网页编程之第十三课:数据库查询言语(2)
国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了在本篇的开首,我要感激一些伴侣来信给我指出了前几篇文章中的毛病。不知人人是不是记得在第八篇中我举了一个复杂的使用Application制造的页面会见计数器?有位伴侣来信问我,为什么当他改动计数器肇端变量NumVisits的值后对最初的记数了局没有任何感化?后来我也百思不解,让我们往返忆一下这段源程序,以下:
<%
DimNumVisits
NumVisits=0
Application.Lock
Application("NumVisits")=Application("NumVisits")+1
Application.Unlock
%>
接待到临本网页,你是本页的第<%=Application("NumVisits")%>位访客!

  在这段程序中,假如你试图经由过程改动变量NumVisits的值来改动记数器了局,是相对办不到的。由于用变量的值往改动Application的值是不成以的,这二者是不相干的。以是这里对变量的界说和赋值都是过剩的。那末我们事实应当怎样来给Application("NumVisits")界说一个初始值呢?请看以下修改后程序:
<%
IfApplication("NumVisits")<999then
Application("NumVisits")=999
EndIf
Application.Lock
Application("NumVisits")=Application("NumVisits")+1
Application.Unlock
%>
接待到临本网页,你是本页的第<%=Application("NumVisits")%>位访客!

  这里的999就是你要设定的计数器初始值,云云一来成绩就水到渠成了。我十分感激这位姓康的伴侣给我指出了这个毛病,固然这只是一个很小的毛病,但我们在配合学程序写程序的过程当中十分必要这类松散仔细的风格,但愿从此伴侣们们一旦发明文中的毛病马上来信告诉,我也能实时改正,感谢。

  SQL言语能够分为两年夜部分:数据界说言语和数据利用言语,继上一篇我们进修了数据利用言语中的Select语句后,明天作者要持续给人人扼要先容其他的SQL语句。

  SQL是一种完整的数据处置言语,不但用于数据库查询,并且用于数据库中的数据修正和更新,与撑持SQL查询的Select语句的庞大性比拟较,变动数据库内容的SQL语句就分外复杂。但是关于一个DBMS来讲,数据更新所酿成的风险年夜年夜超越了数据查询。数据库办理体系必需在变动期内回护所存储的数据的分歧性,确保无效的数据进进数据库,数据库必需坚持分歧性,DBMS还必需和谐多用户的并行更新,以确保用户和他们的变动不至于影响其他用户的功课。  用于修正数据库内容的SQL语句次要有以下三个:
  1、Insert,向一个表中到场新的数据行
  2、Delete,从一个表中删除数据行
  3、Update,变动数据库中已存在的数据
  起首我们来看看Insert的用法:
  尺度语法:
  INSERTINTOtable_name
  (col1,col2...)
  VALUES(value1,value2...)

  下例要将墨客作为一个新的发卖员到场表Salesreps中
  InsertInto
  Salesreps(name,num,sales,hire_date,income)
  values(shusheng,9,10000,23-Feb-99,2000)

  在此语句中,列的称号列在括号中以逗号离隔,接下往是Value短语和括号中一样以逗号离隔的每列数据,应当注重的是数据和列称号的按次是不异的,并且如果字符串型则以单引号离隔。从观点下去讲,Insert语句创建的一个与表列布局相分歧的数据行,用取自Values子句的数据来添补它,然后将该新行到场表中,表中的行是不排序的,因而不存在将该行拔出到表的头或尾或两行之间的这个观点。Insert语句停止后,新行就是表的一部分了。

  Insert语句还能够将多行数据增加到方针表中往,在这类情势的Insert语句中,新行的数据值不是在语句注释中明白地指定的,而是语句中指定的一个数据库查询。增加的值来自数据库本身的行,这乍看起来仿佛有些奇异,可是在某些特定的形态下,这长短常有效的。好比,你想把1998年12月30日之前发生的定单编号、日期和数量从order表中拷贝到另外一个名为oldorder的表中往,多行Insert语句为拷贝数据供应了一种松散而高效的办法,以下:
  Insertintooldorder(Num,Date,Amount)
  SelectNum,Date,Amount
  Fromorder
  WhereDate<30-12-98

  这条语句看起来有些庞大,实在很复杂,语句标识了吸收新行的表oldorder和吸收数据的列,完整相似于单行Insert语句。语句的残剩部分是一个查询,它检索order表中的数据。SQL先实行对order表的查询,然后将查询了局逐行拔出到oldorder表中往。

  上面我们来看看Update的用法,Update语句用于更新单表当选定行的一列或多列的值。要更新的方针表在语句中界说,Set子句则指定要更新哪些列并盘算他们的值。Update语句老是包括Where语句,并且Update语句对照伤害,以是您必需明白地熟悉到Where语句的主要性,Where语句被用来指定必要更新的行。
  尺度语法:
  UPDATEtable_name
  SETcolumnname1=value1
  [,columname2=value2]...
  WHEREsearch_condition

  以下是一个复杂的Update语句的例子:
  Updatecustomers
  Setcredit=100000.00,id=99
  Wherename=asp

  在此例中我们将表customers中客户名为asp的客户的信贷值更新为10万并将他的ID变动为99。再看下例:
  Updatecustomers
  Setcredit=200000.00,state=021
  WhereIDin(80,90,100,120)

  我们能够发明,实在SQL处置Update语句的历程就是逐行遍历所指定的表,更新其搜刮前提了局为“真”的行,跳过其搜刮前提了局为“假”或“空”的行。
  最初,来看看Delete语句。
  尺度语法:
  DELETEFROMtablename
  WHEREcondition
 因为它过于复杂,以是所酿成的成果也是严峻的,固然个中的Where子句是任选的,但它几近老是存在的,若将Where子句从Delete语句中省略失落,则方针表的一切行都将被删除。看下例:
  DeletefromorderWhereID=99

  在文章的开端,作者在给人人扼要先容一下数据界说言语。它是用来创立和修正数据库布局的一种语句,包含Create和Drop语句。
  1、Create语句
  尺度语法:
  CREATETABLEtable_name
  (field1datatype[NOTNULL],
  field2datatype[NOTNULL],
  field3datatype[NOTNULL]...)

  如:
  CREATETABLEBILLS
  (NAMECHAR(30),
  AMOUNTNUMBER,
  ACCOUNT_IDNUMBER)

  只管CreateTable比后面先容的语句难了解一些,但仍旧很直不雅。它将bills付与一个新表,并指定表中三列的称号和数据范例。表被创建后我们就能够添进数据了。如:
  Insertintobills(name,amout,account_id)values(gates,100,1)
  假如,你以为不再必要保留产物信息,则可用Droptable语句将该表及其所包括的一切数据从数据库中删撤除。
  尺度语法:
  DROPTABLEtable_name
 至此,我们已懂得了一切经常使用的SQL语句,可别小视这些貌似英文的复杂语句,它们的功效非常壮大,当我们编写asp程序时必需利用他们对数据库举行操纵。从下一篇入手下手,作者将给人人先容ASP的内建ActiveX组件,敬请存眷。
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。
作者: 因胸联盟    时间: 2015-1-19 12:49
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
作者: 飘飘悠悠    时间: 2015-1-24 15:18
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
作者: 若天明    时间: 2015-2-1 18:48
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者: 透明    时间: 2015-2-7 14:37
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
作者: 海妖    时间: 2015-2-22 08:53
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者: 飘灵儿    时间: 2015-3-7 00:05
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
作者: 谁可相欹    时间: 2015-3-13 23:09
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
作者: 仓酷云    时间: 2015-3-20 22:11
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2