仓酷云

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

[学习教程] ASP网页设计第十三篇 数据库查询言语(2)

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:23:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。在本篇的开首,我要感激一些伴侣来信给我指出了前几篇文章中的毛病。不知人人是不是记得在第八篇中我举了一个复杂的使用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组件,敬请存眷。
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-17 08:44:48 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
再见西城 该用户已被删除
板凳
发表于 2015-1-20 16:13:31 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
冷月葬花魂 该用户已被删除
地板
发表于 2015-1-29 12:56:30 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
蒙在股里 该用户已被删除
5#
发表于 2015-2-6 01:04:49 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
小魔女 该用户已被删除
6#
发表于 2015-2-14 19:30:14 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
不帅 该用户已被删除
7#
发表于 2015-3-11 18:13:09 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
兰色精灵 该用户已被删除
8#
发表于 2015-3-19 06:29:29 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
简单生活 该用户已被删除
9#
发表于 2015-3-27 10:39:52 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 00:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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