繁体   English   中英

如何使用SqlConnection(ADO.Net)连接到ADO记录集?

[英]How can I use a SqlConnection (ADO.Net) to connect to an ADO recordset?

自2天以来,我一直很艰难,并且无法弄清楚我应该如何实施。 我不确定这是否真的可行。 请帮我。

以下是我的情况:

  1. 我有一个.Net Dll,它具有一个在打开它后返回SqlConnection对象的方法。 下面是函数(类似于我正在使用的函数-这是一个示例函数)

     SqlConnection conn = new SqlConnection(); conn.ConnectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=myDatabase;Data Source=.\\SQLEXPRESS;Trusted_Connection=true"; conn.Open(); 
  2. 我正在使用私钥在GAC中安装此.dll。

  3. 然后使用regasm.exe实用程序将其注册为tlb进行注册。
  4. 最后,我能够从我的ASP应用程序访问此.net dll,并能够从使用.dll类对象访问的方法中获取返回值。 (从方法访问字符串值当然没有问题,但是我正在尝试访问SqlConnection ado.net对象的方法)

下面是我的示例ASP页面,以显示我如何访问和使用连接对象:

<!-- #include file="adovbs.inc" -->
<% 
set objdll = Nothing
set objConn = Nothing

//creating class object from the .net dll
set objdll = Server.CreateObject("gacDemo.clsGacDemo")

//accessing the GetConnection() method using the object. 
//GetConnection() returns the SQLConnection ado.net object
objConn = objdll.GetConnection()

set objRS = Server.CreateObject("ADODB.Recordset")
objRs.Source = "SELECT COUNT(*) AS CityCount FROM city"
objRS.Open "select count(*) as count from city", objConn, 3, 3, 1

Count = objRS.Fields("count").value
response.Write Count

%>

我遇到了这个严重错误,我正在尝试修复它,

错误类型:ADODB.Recordset(0x800A0BB9)参数的类型错误,超出可接受范围或彼此冲突。

我不确定是否可以在ASP页面中使用SqlConnection ado.net对象。

通常,您不能在Ancient ASP中使用.NET代码。 唯一可行的方法是将.NET代码公开为COM对象。 在MSDN文档中查找“ COM Interop”。

暂无
暂无

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

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