繁体   English   中英

经典的asp连接

[英]classic asp connection

您将如何获取用户输入以通过不同网页进行连接。 这可以通过 session 变量来完成,还是有其他方法。 我不想在每个网页上都建立连接,有人可以指出我正确的方向来做一些研究。

这是来自 web 站点上根本没有任何连接字符串的站点的一些代码。

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

我假设您的意思是数据库连接? 如果是这样,,您不应该将任何 ADO 对象存储在 session 变量中; 它不会扩展并且因为它们是单元线程,所以它们不能使用线程池。

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

数据库连接

采用自定义库至少作为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")或二合一Request("myInput")并从那里开始工作

“连接”是通过链接建立的,并形成 Post's / Get's

web 上有很多例子,但这里有一个

为了保持跨页面的变量,你有(仍然是今天)3种方法

  • Session变量,它离开每个用户 session
  • Application变量,它离开每个网站,并在所有用户之间共享
  • Cookies

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

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

更多在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM