几例在ASP存储过程的使用方法(5)
Create Procedure Returnemploy
AS
select emp_id, fname from employee
If Exists(Select fname From employee Where fname=''Margaret'')
Return(1)
Else
Return(0)
例wuf73.asp
% @LANGUAGE = VBScript %>
!--#include file="AdoSQL7.asp"-->
!--#include file="adovbs.inc"-->
% '' wuf73.asp
Dim cmdTest, prmTest, rsTest
Set cmdTest = Server.CreateObject("ADODB.Command")
cmdTest.ActiveConnection = Cnn
cmdTest.CommandText = "Returnemploy" ''存储过程名
cmdTest.CommandType = adCmdStoredProc
Set prmTest = cmdTest.CreateParameter("ReturnValue",adInteger,adParamReturnValue)
cmdTest.Parameters.Append prmTest
Set rsTest = cmdTest.Execute()
While Not rsTest.EOF
Response.Write rsTest(0) & " ][ " & rsTest(1) & " "
rsTest.MoveNext
Wend
rsTest.Close: Set rsTest = Nothing
''返回 cmdtest("ReturnValue") 之前,必须先关闭rsTest, 否则结果错误
If cmdtest("ReturnValue") = 1 Then
Response.Write "有该雇员"
Else
Response.Write "无该雇员"
End If
Cnn.close
Set prmTest = Nothing
Set cmdTest = Nothing: Set Cnn = Nothing
%>
三、如何处理大数据
这里的“大数据”主要是指Text(大文本)和image(图像)字段,采用前面所述的方法无法正确获取其数据。必须首先使用Size = rsTest(0).ActualSize获取字段值的实际长度,然后再使用rsTest(0).GetChunk(Size)取得数据。在实际使用过程中,由于这些字段都比较大,为了节省、合理使用服务器资源,一般均采取分段读取的方法。例wuf74.asp:
% @LANGUAGE = VBScript %>
!--#include file="AdoSQL7.asp"-->
!--#include file="adovbs.inc"-->
% '' wuf74.asp
Dim StrSQL, rsTest
‘pr_info 是一个文本字段
StrSQL = "Select pr_info,pub_id From pub_info"
Set rsTest = Cnn.Execute(StrSQL)
Dim BasicSize, BeginSize, LText
Do While Not rsTest.EOF
Response.Write rsTest(1) & " "
‘每次读取 1024字节
BasicSize = 1024
BeginSize = 0
While BeginSize rsTest(0).ActualSize
LText = rsTest(0).GetChunk(BasicSize)
BeginSize = BeginSize + BasicSize
内容版权声明:除非注明,否则皆为本站原创文章。