仓酷云
标题:
ASP网站制作之精髓文章:ASP中SQL语句参考及纪录集对...
[打印本页]
作者:
第二个灵魂
时间:
2015-1-16 22:22
标题:
ASP网站制作之精髓文章:ASP中SQL语句参考及纪录集对...
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。sql|参考|工具|纪录集|精髓|语句
1.ASP与Access数据库毗连:
<%@language=VBscript%>
<%
dimconn,mdbfile
mdbfile=server.mappath("数据库称号.mdb")
setconn=server.createobject("adodb.connection")
conn.open"driver={microsoftaccessdriver(*.mdb)};uid=admin;pwd=数据库暗码;dbq="&mdbfile
%>
2.ASP与SQL数据库毗连:
<%@language=VBscript%>
<%
dimconn
setconn=server.createobject("ADODB.connection")
con.open"PROVIDER=SQLOLEDB;DATASOURCE=SQL服务器称号或IP地点;UID=sa;PWD=数据库暗码;DATABASE=数据库称号
%>
创建纪录集工具:
setrs=server.createobject("adodb.recordset")
rs.openSQL语句,conn,3,2
3.SQL经常使用命令利用办法:
(1)数据纪录选择:
sql="select*from数据表where字段名=字段值orderby字段名"
sql="select*from数据表where字段名like′%字段值%′orderby字段名"
sql="selecttop10*from数据表where字段名orderby字段名"
sql="select*from数据表where字段名in(′值1′,′值2′,′值3′)"
sql="select*from数据表where字段名between值1and值2"
(2)更新数据纪录: sql="update数据表set字段名=字段值where前提表达式"
sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere前提表达式"
(3)删除数据纪录:
sql="deletefrom数据表where前提表达式"
sql="deletefrom数据表"(将数据表一切纪录删除)
(4)增加数据纪录:
sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sql="insertinto方针数据表select*from源数据表"(把源数据表的纪录增加到方针数据表)
(5)数据纪录统计函数:
AVG(字段名)得出一个表格栏均匀值
COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)获得一个表格栏最年夜的值
MIN(字段名)获得一个表格栏最小的值
SUM(字段名)把数据栏的值相加
援用以上函数的办法:
sql="selectsum(字段名)as别号from数据表where前提表达式"
setrs=conn.excute(sql)
用rs("别号")猎取统的计值,别的函数使用同上。
(5)数据表的创建和删除:
CREATETABLE数据表称号(字段1范例1(长度),字段2范例2(长度)……)
例:CREATETABLEtab01(namevarchar(50),datetimedefaultnow())
DROPTABLE数据表称号(永世性删除一个数据表)
4.纪录集工具的办法:
rs.movenext将纪录指针从以后的地位向下移一行
rs.moveprevious将纪录指针从以后的地位向上移一行
rs.movefirst将纪录指针移到数据表第一行
rs.movelast将纪录指针移到数据表最初一行
rs.absoluteposition=N将纪录指针移到数据表第N行
rs.absolutepage=N将纪录指针移到第N页的第一行
rs.pagesize=N设置每页为N笔记录
rs.pagecount依据pagesize的设置前往总页数
rs.recordcount前往纪录总数
rs.bof前往纪录指针是不是超越数据表首端,true暗示是,false为否
rs.eof前往纪录指针是不是超越数据表末了,true暗示是,false为否
rs.delete删除以后纪录,但纪录指针不会向下挪动
rs.addnew增加纪录到数据表末了
rs.update更新数据表纪录
-------------------
Recordset工具办法
Open办法
recordset.OpenSource,ActiveConnection,CursorType,LockType,Options
Source
Recordset工具能够经由过程Source属性来毗连Command工具。Source参数能够是一个Command工具称号、一段SQL命令、一个指定的数据表称号或是一个StoredProcedure。假设省略这个参数,体系则接纳Recordset工具的Source属性。
ActiveConnection
Recordset工具能够经由过程ActiveConnection属性来毗连Connection工具。这里的ActiveConnection能够是一个Connection工具或是一串包括数据库毗连信息(ConnectionString)的字符串参数。
CursorType
Recordset工具Open办法的CursorType参数暗示将以甚么样的游标范例启动数据,包含adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述以下:
---------------------------------
常数常数值申明
----------------------------------
adOpenForwardOnly0缺省值,启动一个只能向前挪动的游标(ForwardOnly)。
adOpenKeyset1启动一个Keyset范例的游标。
adOpenDynamic2启动一个Dynamic范例的游标。
adOpenStatic3启动一个Static范例的游标。
----------------------------------
以上几个游标范例将间接影响到Recordset工具一切的属性和办法,以以下表申明他们之间的区分。
PageCount不撑持不撑持只读只读
PageSize可读写可读写可读写可读写
RecordCount不撑持不撑持只读只读
Source可读写可读写可读写可读写
State只读只读只读只读
Status只读只读只读只读
AddNew撑持撑持撑持撑持
CancelBatch撑持撑持撑持撑持
CancelUpdate撑持撑持撑持撑持
Clone不撑持不撑持
Close撑持撑持撑持撑持
Delete撑持撑持撑持撑持
GetRows撑持撑持撑持撑持
Move不撑持撑持撑持撑持
MoveFirst撑持撑持撑持撑持
MoveLast不撑持撑持撑持撑持
MoveNext撑持撑持撑持撑持
MovePrevious不撑持撑持撑持撑持
NextRecordset撑持撑持撑持撑持
Open撑持撑持撑持撑持
Requery撑持撑持撑持撑持
Resync不撑持不撑持撑持撑持
Supports撑持撑持撑持撑持
Update撑持撑持撑持撑持
UpdateBatch撑持撑持撑持撑持
----------------------------------
个中NextRecordset办法其实不合用于MicrosoftAccess数据库。
LockType
Recordset工具Open办法的LockType参数暗示要接纳的Lock范例,假如疏忽这个参数,那末体系会以Recordset工具的LockType属性为预设值。LockType参数包括adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述以下:
--------------------------
常数常数值申明
--------------------------
adLockReadOnly1缺省值,Recordset工具以只读体例启动,没法运转AddNew、Update及Delete等办法
adLockPrssimistic2当数据源正在更新时,体系会临时锁住其他用户的举措,以坚持数据分歧性。
adLockOptimistic3当数据源正在更新时,体系其实不会锁住其他用户的举措,其他用户能够对数据举行增、删、改的操纵。
adLockBatchOptimistic4当数据源正在更新时,其他用户必需将CursorLocation属性改成adUdeClientBatch才干对数据举行增、
删、改的操纵。
----------------------------------
Recordset属性adOpenForwardOnlyadOpenKeysetadOpenDynamicadOpenStatic
----------------------------------
AbsolutePage不撑持不撑持可读写可读写
AbsolutePosition不撑持不撑持可读写可读写
ActiveConnection可读写可读写可读写可读写
BOF只读只读只读只读
Bookmark不撑持不撑持可读写可读写
CacheSize可读写可读写可读写可读写
CursorLocation可读写可读写可读写可读写
CursorType可读写可读写可读写可读写
EditMode只读只读只读只读
EOF只读只读只读只读
Filter可读写可读写可读写可读写
LockType可读写可读写可读写可读写
MarshalOptions可读写可读写可读写可读写
MaxRecords可读写可读写可读写可读写
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。
作者:
不帅
时间:
2015-1-18 09:00
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
作者:
冷月葬花魂
时间:
2015-1-21 16:05
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
作者:
活着的死人
时间:
2015-1-30 20:45
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
作者:
谁可相欹
时间:
2015-2-6 15:54
那么,ASP.Net有哪些改进呢?
作者:
仓酷云
时间:
2015-2-16 23:22
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者:
蒙在股里
时间:
2015-3-5 12:14
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者:
分手快乐
时间:
2015-3-12 06:03
不能只是将它停留在纸上谈兵的程度上。
作者:
愤怒的大鸟
时间:
2015-3-19 18:28
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2