ASP调用存储过程的方法:
---- 调用存储过程的方法需要使用ADO的Command对象。Command对象是对一个数据源运行特定命令的定义(例如,一个SQL查询或一个SQL存储过程)。下面以MS SQL SERVER6.5为后台数据库,介绍ASP调用存储过程的方法。
---- 例如,在表User中保存了用户名和密码。现在建立一个检查密码的存储过程sp_CheckPass来检查用户是否输入了合法的密码。建立存储过程,可以从Microsoft SQL Sever程序组中启动ISQL/w。然后,在查询窗口中输入存储过程:
/*存储过程例程*/
CREATE PROCEDURE sp_CheckPass
@CHKName VARCHAR(30),@CHKPass VARCHAR(30),
@ISValid CHAR(8) OUTPUT
AS
IF EXISTS(SELECT UserName from Users
WHERE UserName=@CHKName AND UserPwd=@CHKPass)
SELECT @ISVaid="pass"
ELSE
SELECT @ISValid="In ......
ASP调用存储过程的方法:
---- 调用存储过程的方法需要使用ADO的Command对象。Command对象是对一个数据源运行特定命令的定义(例如,一个SQL查询或一个SQL存储过程)。下面以MS SQL SERVER6.5为后台数据库,介绍ASP调用存储过程的方法。
---- 例如,在表User中保存了用户名和密码。现在建立一个检查密码的存储过程sp_CheckPass来检查用户是否输入了合法的密码。建立存储过程,可以从Microsoft SQL Sever程序组中启动ISQL/w。然后,在查询窗口中输入存储过程:
/*存储过程例程*/
CREATE PROCEDURE sp_CheckPass
@CHKName VARCHAR(30),@CHKPass VARCHAR(30),
@ISValid CHAR(8) OUTPUT
AS
IF EXISTS(SELECT UserName from Users
WHERE UserName=@CHKName AND UserPwd=@CHKPass)
SELECT @ISVaid="pass"
ELSE
SELECT @ISValid="In ......
前面的准备工作都是在三层架构中的数据访问层,相关的两个数据访问的操作已经安排妥当,现在要开始进入到三层架构中的业务逻辑层.
这一层是三层架构的灵魂与核心,兼任控制中心,兼任资源调配中心,兼任通用功能整合中心......一切你所能想象的负责管理性质工作的集合.
它有如日月地中的地,有如天地人中的人,有如空假中的中,有如男女爱中的爱,有如叔本华的钟摆,有如电脑的操作系统......
对它有多么无限的重视,你的程序架构就有多么无限的健壮.
闲来时,喝点小酒,沉思你的BLL层,动人的逻辑翩翩起舞,天地位焉,万物育焉,惚兮恍兮,其中有象,恍兮惚兮,其中有物,窈兮冥兮,其中有精,其精甚真,其中有信.
----还是先看看代码吧.
<!--#include file="../DAL/DAL_User.asp"-->
<!--#include file="../DAL/DAL_UserLog.asp"-->
<!--#include file="../MOD/MOD_User.asp"-->
<%
' //////////////////////////////// ......
文件名:Awa_temp.Class.asp
<%
'Crazy蛙!模板操作类
'作者Crazy~蛙! QQ:379969387 欢迎交流
'版本V1.0;
Class AwaTemp
Public aa
Private FSO,StrTemp,FileData,GetDatas,StrHtmlName,htmlwrite,StrLabel,StrLValues
'===========================================
'构造函数_初始化FSO组件
'===========================================
Private Sub Class_Initialize()
Set FSO=Server.CreateObject("Scripting.FileSystemObject")
End Sub
'===========================================
'构析函数_销毁FSO组件
'===========================================
Private Sub Class_terminate()
Set FSO=nothing
End Sub
'===========================================
'类属性
'===========================================
'版本信息
Public Property Get Version
Version="Crazy~蛙! 模板操作类!V1.0版本;"
End Property
'获取模板地址以及名称
Public Property Let Temp(ByVal Values)
StrTemp=Values
End Property
'获取生成文件的文件名
Public Property Let HtmlName(ByVal Val ......
asp常用的正则表达式实现字符串的替换,主要包括去除html标签,去除class标签和去除script标签等
去除html标签正则<\/*[^<>]*>
Function LoseHtml(ContentStr)
Dim ClsTempLoseStr,RegEx
ClsTempLoseStr = Cstr(ContentStr)
Set RegEx = New RegExp
RegEx.Pattern = "<\/*[^<>]*>"
RegEx.IgnoreCase = True
RegEx.Global = True
ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
Set RegEx = Nothing
LoseHtml = ClsTempLoseStr
End function
去除网页中的class
Function LoseClassTag(ContentStr)
Dim ClsTempLoseStr,RegEx
ClsTempLoseStr = Cstr(ContentStr)
Set RegEx = New RegExp
RegEx.Pattern = "(class=){1,}(""|\'){0,1}\S+(""|\'|>|\s){0,1}"
RegEx.IgnoreCase = True
RegEx.Global = True
ClsTempLoseStr = RegEx.Replace(ClsTempLoseStr,"")
LoseClassTag = ClsTempLoseStr
Set RegEx = Nothing
End Function
Function LoseScriptTag(ContentStr)
Dim ClsTempLoseStr,RegEx
ClsTempLoseStr = Cstr(ContentStr)
Set RegEx = New RegExp
RegEx.Pattern = "(<script) ......
<%
SQL1 = "update table1 set a=b where id=1"
Conn.ExeCute SQL1
SQL2 = "update table2 set a=b where id=2"
Conn.ExeCute SQL2
SQL3 = "update table3 set a=b where id=3"
Conn.ExeCute SQL3
%>
事实上,这是一种效率很低下的写法,为了提高SQL的执行效率,我们可以把多个SQL语句用分号拼接在一起,然后一次性交给Conn来执行。如下:
<%
SQL1 = "update table1 set a=b where id=1"
SQL2 = "update table2 set a=b where id=2"
SQL3 = "update table3 set a=b where id=3"
SQL = SQL1 & ";" & SQL2 & ";" & SQL3
Conn.ExeCute SQL
%>
但是,以上2种写法都会面临一个问题,就是当我们需要保证3条SQL语句都必须完整执行,当某一条执行错误时,其他2条也跟着回滚时,我们就需要用到SQLServer的事务控制了,不少的文章建议使用以下方法:
<%
dim Conn=Server.CreateObj ......
<%
SQL1 = "update table1 set a=b where id=1"
Conn.ExeCute SQL1
SQL2 = "update table2 set a=b where id=2"
Conn.ExeCute SQL2
SQL3 = "update table3 set a=b where id=3"
Conn.ExeCute SQL3
%>
事实上,这是一种效率很低下的写法,为了提高SQL的执行效率,我们可以把多个SQL语句用分号拼接在一起,然后一次性交给Conn来执行。如下:
<%
SQL1 = "update table1 set a=b where id=1"
SQL2 = "update table2 set a=b where id=2"
SQL3 = "update table3 set a=b where id=3"
SQL = SQL1 & ";" & SQL2 & ";" & SQL3
Conn.ExeCute SQL
%>
但是,以上2种写法都会面临一个问题,就是当我们需要保证3条SQL语句都必须完整执行,当某一条执行错误时,其他2条也跟着回滚时,我们就需要用到SQLServer的事务控制了,不少的文章建议使用以下方法:
<%
dim Conn=Server.CreateObj ......
<%
SQL1 = "update table1 set a=b where id=1"
Conn.ExeCute SQL1
SQL2 = "update table2 set a=b where id=2"
Conn.ExeCute SQL2
SQL3 = "update table3 set a=b where id=3"
Conn.ExeCute SQL3
%>
事实上,这是一种效率很低下的写法,为了提高SQL的执行效率,我们可以把多个SQL语句用分号拼接在一起,然后一次性交给Conn来执行。如下:
<%
SQL1 = "update table1 set a=b where id=1"
SQL2 = "update table2 set a=b where id=2"
SQL3 = "update table3 set a=b where id=3"
SQL = SQL1 & ";" & SQL2 & ";" & SQL3
Conn.ExeCute SQL
%>
但是,以上2种写法都会面临一个问题,就是当我们需要保证3条SQL语句都必须完整执行,当某一条执行错误时,其他2条也跟着回滚时,我们就需要用到SQLServer的事务控制了,不少的文章建议使用以下方法:
<%
dim Conn=Server.CreateObj ......
1、如果这种情况出现在本机,则在sql server 的企业管理器的控制台目录里选择相应的数据库,在其下的用户节点点右键新建数据库用户,将***\ASPNET用户加入,并赋予public权限。
2、如果出现在其他的电脑,则检查 程序连接SQLServer的连接字符串是不是用了windows集成登陆,一般出现此问题的状况都是因为使用了windows集成登录造成的。此时,你可以改成用数据库帐号和密码登录,例如:server=localhost;uid=sa;pwd=xxxx;database=master。
3、sql 连接字符里一些常见关键字的知识
Security Support Provider Interface
设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式。
只有设置为 False 或省略该项的时候,才按照 UserID, PW 来连接。
Integrated Security 可以设置为: True, false, yes, no ,这四个的意思很明白了,还可以设置为:sspi ,相当于 True,建议用这个代替 True。
initial catalog与database的区别是什么
Initial Catalog:
DataBase:
两者没有任何区别只是名称不一样,就好像是人类的真实姓名与曾用名一样。。都可以叫你。
************* ......