(二)使用存储过程
然后我们可以在 ASP 程序中调用这些存储过程了。
这里可以看到为什么我说 Access 中的查询就是它的存储过程——我们的 Command 对象的 CommandType 属性设置的是 4,即 Stored Proc!
so...
以下的代码很简单:
代码:
<%
Option Explicit
Dim s
Randomize
s = Rnd * 100
Dim conn, cmd
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("sp.mdb")
With cmd
.ActiveConnection = conn
.CommandType = &H0004 '存储过程
.CommandText = "AddNewData"
End With
cmd.Execute , Array(CStr(Now()), CSng(s))
With cmd
.ActiveConnection = conn
.CommandType = &H0004 '存储过程
.CommandText = "GetData"
End With
Dim resultRS, resultArray
Set resultRS = cmd.Execute(, Null)
If Not resultRS.EOF Then
resultArray = resultRS.GetRows()
End If
Set resultRS = Nothing
Set cmd = Nothing
conn.Close
Set conn = Nothing
Response.Write "<ul>"
Dim i
For i = 0 To UBound(resultArray, 2)
Response.Write "<li>" & resultArray(0, i)
Response.Write " " & resultArray(1, i)
Response.Write " " & resultArray(2, i)
Response.Write "</li>"
Next
Response.Write "</ul>"
%>
运行结果。
感觉起来,速度似乎很快,呵呵~
不知道这样在 Access 中使用存储过程的意义大不大,不过确实很好玩
ASP 正在没落,不过我仍然很喜欢它的小快灵~
参考资料:
http://aspalliance.com/andrewmooney/default.aspx?article=16
http://support.microsoft.com/default.aspx?scid=kb;EN-US;304352
乐意和各位 ASPer 交流,我的 e-mail 是:sinzy@mail.biti.edu.cn 或者 ck@sinzy.net