ASP Classic获取并将Conn设置为另一个Conn对象

时间:2014-08-19 20:15:43

标签: sql-server asp-classic

我使用这种方式连接并使用Conn对象进行连接

 <!-- #include file="dataconnections.asp" -->

在我的一个ASP页面中,我有一个VBScript Onclick事件,需要我执行存储过程并在文本框中传递变量。

现在,连接字符串在ASP文件本身中是硬编码的,并且不使用包含文件中的Conn对象。有没有正确的方法来执行SP而不使用新的Conn,或者如何将当前的Conn从包含文件传递给VBScript Onclick事件中使用的那个?

1 个答案:

答案 0 :(得分:0)

我不知道您的包含dataconnections.asp包含哪些内容(如果您在问题中发布了源代码会很好),但最好使用{运行{ {1}}公开ADODB.Command属性的对象。

这样,您就可以ActiveConnection SetADODB.Connection对象或传递连接字符串,并让ADODB.Command使用该连接字符串即时显示新的ADODB.Connection

以下是使用这两个选项的示例

  1. 使用现有的ADODB.Connection

    Dim cmd
    
    Set cmd = Server.CreateObject("ADODB.Command")
    With cmd
      'Use existing object from include file to set connection.
      Set .ActiveConnection = YourConnObject
    End With
    
      

    重要提示:使用此方法时,请确保使用

    打开YourConnObjectADODB.Connection)      
    'Make sure connection has been opened.
    Call YourConnObject.Open()
    
         

    在分配给ADODB.Command对象之前。

  2. 使用连接字符串变量(可能在您的include中定义)来设置ADODB.Command对象专用的连接。

    Dim cmd
    
    Set cmd = Server.CreateObject("ADODB.Command")
    With cmd
      'Use connection string to instantiate a new connection to be used
      'exclusively by the ADODB.Command object.
      .ActiveConnection = YourConnectionString
    End With
    
      

    注意:与选项1调用

    不同      
    'Close ADODB.Command object
    Call cmd.Close()
    
         

    会立即销毁ADODB.Connection(设置ActiveConnection属性时分配的)。


  3. 有用的链接