经典的asp连接

时间:2011-06-10 11:31:02

标签: html sql vbscript asp-classic

您将如何通过不同的网页获取用户输入连接。这会用会话变量完成还是有另一种方式。我不想在每个网页上建立连接,有人能指出我正确的方向做什么研究。

以下是网站上的一些代码,网站上根本没有任何连接字符串。

obj_ADO.ClearParameters
lng_RecSet1 = obj_ADO.GetFreeRecordset
obj_ADO.Recordset "A_combo_Permissions_select", adCmdStoredProc, obj_Session.int_CommandTimeout, lng_RecSet1
while obj_ADO.EOF(lng_RecSet1) = 0

如果str_Action = obj_Session.str_FileName或len(str_Action)= 0或str_Action = str_SwitchLangText那么

obj_ADO.ClearParameters
obj_ADO.AddParameter "SessionID", adChar, adParamInput, len(obj_Session.str_SessionID), obj_Session.str_SessionID
obj_ADO.AddParameter "PermissionID", adInteger, adParamInput, 8, lng_PermissionID
lng_RecSet = obj_ADO.GetFreeRecordset
obj_ADO.Recordset "A_PagePermissions_select", adCmdStoredProc, obj_Session.int_CommandTimeout, lng_RecSet

2 个答案:

答案 0 :(得分:2)

我假设您的意思是数据库连接?如果是这样,你永远不应该在会话变量中存储任何ADO对象;它不会扩展和扩展因为他们是公寓线程,他们不能使用线程池。

您应该在每个页面上连接和断开连接和&需要时(即通常只有一次)。
幕后工作Connection Pooling意味着这比你想象的影响小。

答案 1 :(得分:1)

数据库连接

采用自定义库是至关重要的,至少作为open connectionexecute queryclose connection

的方法

示例:

<%
    '' Database file database.asp

    Sub openDB(query, objConn, objRS)

        Set objConn = Server.CreateObject("ADODB.Connection")
        objConn.ConnectionString = "DSN=myCONNECTION.dsn"
        objConn.Open

        Set objRS = Server.CreateObject("ADODB.Recordset")
        objRS.Open query, objConn

    End Sub

    Sub CloseRs(objRS)

        objRS.Close
        Set objRS = Nothing

    End Sub

    Sub CloseDb(objConn)

        objConn.Close
        Set objConn = Nothing

    End Sub

%>

那么你可以简单地使用:

<!--#include file="header.inc"-->
<%
    Dim rs, conn
    openDb("SELECT Name FROM TBL_USERS", conn, rs)

    '' you can loop through the rs object now
    while NOT rs.EOF

        Response.Write rs("Name")

        rs.MoveNext
    wend

    closeRs(rs)
    closeDb(conn)
%>

(旧的帖子留言,因为我没有看到sql标签

经典ASP 中,它总是最终使用

Request.QueryString("myInput")Request.Forms("myInput")或2合1 Request("myInput")并从那里开始工作

“连接”由链接制作并形成Post's / Get's

网上有很多例子,但here's one

保持页面间的变量你有(现在仍然是)3种方式

  • Session变量,每个用户会话离开
  • Application变量,它离开每个网站,并且它与所有用户共享
  • Cookies

例如,“授权页面访问权限”是通过在正确登录时设置Session,使用Response.Redirect("myProtectedPage.asp")转发而在该页面中通常如下所示:

<%
    If Session("user-login") = True Then
        Response.Redirect("NotAuthorized.asp")
    End if
%>
<!--#include file="header.inc"-->
...

更多here