仓酷云

标题: ASP教程之断开的数据库毗连的例子 [打印本页]

作者: 乐观    时间: 2015-2-16 00:25
标题: ASP教程之断开的数据库毗连的例子
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,断开|数据|数据库|数据库毗连   利用断开的Recordset的一个关头前提就是利用客户端一时表,即
指定Rs.CursorLocation = adUseClient or 3,上面是一个完全
的例子:
demo-1.asp (在线演示:http://www.aspcn.com/demo/demo-1.asp)
------------------------------------------------------------
<%@ Language=VBScript %>
<%
'# -------------------------------------------------------------------
---------
'# 法式描写:演示利用断开的纪录集
'# 法式设计:亚豪
'# -------------------------------------------------------------------
---------

On Error Resume Next
Dim adoConn,adoRs,SQLCmd,ConnectString
'#--------------------------------------------------------------------
---------
'# 利用SQL Server的 DSN-less 体例毗连数据库
'#--------------------------------------------------------------------
---------
ConnectString = "Driver={SQL Server};" & _
"Server=(local);" & _
"Database=abc;" & _
"Uid=sa;" & _
"Pwd=123"

'#--------------------------------------------------------------------
---------
'# 创立对象实例,并初始化毗连(Connection)
'#--------------------------------------------------------------------
---------
Set adoConn = Server.CreateObject("ADODB.Connection")
Set adoRs = Server.CreateObject("ADODB.Recordset")
adoConn.Open ConnectString

SQLCmd = "Select * from bbs_user where LTrim(RTrim(id)) = 'w3org'"
'#--------------------------------------------------------------------
---------
'# 利用客户端一时表翻开并保留纪录集,关头地点!
'# 客户端是运转ASP法式的主机,相对数据库办事器而言
'#--------------------------------------------------------------------
---------
adoRs.CursorLocation = 3 'Const adUseClient = 3
adoRs.Open SQLCmd,adoConn,0,2

'#--------------------------------------------------------------------
---------
'# 没有发明纪录,停止法式
'#--------------------------------------------------------------------
---------
Err.Clear
If adoRs.EOF And adoRs.BOF Then
adoRs.Close
adoConn.Close
Set adoRs = Nothing
Set adoConn = Nothing
Response.Write "用户没有发明!"
Response.End
End If
'#--------------------------------------------------------------------
---------
'# 找到纪录,显示本来的值后释放纪录集的举动毗连,以后封闭数据库毗连
'#--------------------------------------------------------------------
---------
Response.Write "本来的昵称是:" & Trim(adoRs.Fields("NickName").Value)
& "<br>" & vbCrLf
Set adoRs.ActiveConnection = Nothing '释放Rs的举动毗连
adoConn.Close
Response.Write "毗连已封闭!<br>" & vbCrLf
'#--------------------------------------------------------------------
---------
'# 赋一个新的值给纪录的 NickName 列,这时候已没有举动的数据库毗连
'#--------------------------------------------------------------------
---------
adoRs.Fields("NickName").Value = "NewTest-" & Second(Time())
'#--------------------------------------------------------------------
---------
'# 再次翻开数据库毗连,并绑定到先前的纪录集上
'#--------------------------------------------------------------------
---------
adoConn.Open ConnectString
adoRs.ActiveConnection = adoConn
'#--------------------------------------------------------------------
---------
'# 更新纪录集,并显示新的值
'#--------------------------------------------------------------------
---------
adoRs.Update
Response.Write "新的昵称是:" & Trim(adoRs.Fields("NickName").Value) &
"<br>" & vbCrLf '显示一个了局
'#--------------------------------------------------------------------
---------
'# 假如产生毛病则显示毛病
'#--------------------------------------------------------------------
---------
If Err.number <> 0 Then
Response.Write "产生毛病:" & Err.description & "<br>"
End If
adoRs.Close
adoConn.Close
Set adoRs = Nothing
Set adoConn = Nothing
%>
<HTML>
<HEAD><Title>ASP中华网 - 演示断开的毗连</title></HEAD>
</p>  缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
作者: 再见西城    时间: 2015-2-16 01:43
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
作者: 第二个灵魂    时间: 2015-2-25 14:43
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
作者: 柔情似水    时间: 2015-3-2 16:57
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者: 活着的死人    时间: 2015-3-5 23:15
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 变相怪杰    时间: 2015-3-6 01:31
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者: 海妖    时间: 2015-3-11 21:16
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
作者: 愤怒的大鸟    时间: 2015-3-18 15:21
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 金色的骷髅    时间: 2015-3-26 00:54
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 简单生活    时间: 2015-4-1 09:48
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
作者: 只想知道    时间: 2015-4-2 10:02
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
作者: 老尸    时间: 2015-4-5 22:07
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者: 若天明    时间: 2015-4-11 15:10
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
作者: 冷月葬花魂    时间: 2015-4-11 18:22
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者: 精灵巫婆    时间: 2015-4-11 23:03
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
作者: 莫相离    时间: 2015-4-24 22:48
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者: 乐观    时间: 2015-4-27 16:49
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者: 分手快乐    时间: 2015-4-28 07:34
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
作者: 爱飞    时间: 2015-6-6 08:12
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者: 深爱那片海    时间: 2015-6-17 04:33
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。




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