把关闭连接的语句去掉,在VB下可以通过,但在ASP里还是一样的: Dim objMember Dim Rs Set objMember = Server.CreateObject("Budget.QueryAndStat") Set RS = Server.CreateObject("ADODB.RecordSet") dim ConnString,SQLString ConnString="Provider=MSDAORA.1;Password=lhz;User ID=lhz;Data Source=gsi-hf;Persist Security Info=True" objMember.ConnectString=ConnString objMember.SelectFields="ID,预算编号,项目名称" objMember.Table="COST_BUDGET" objMember.Condition=" ID>123" set rs=objMember.Query() Response.Write RS.RecordCount
返回无连接Recordset要求你设置CursorLocation为adUseClient 下面是一个例子,你看看就明白了: 创建一个DLL Project: Option ExplicitPublic Function Query() As ADODB.Recordset '定义返回Recordset Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset cn.Open "dsn=LocalServer" rs.CursorLocation = adUseClient '必须的
rs.Open "select * from table1", cn, adOpenForwardOnly, adLockReadOnly Set rs.ActiveConnection = Nothing cn.Close Set cn = Nothing
Set Query = rs
End Function添加一个Standard Exe Project,Reference 上面的DLL Option ExplicitPrivate Sub Command1_Click() Dim rs As New ADODB.Recordset Dim a As New Project2.Class1 Set rs = a.Query
Me.Print rs(0) '输出纪录 Set rs = Nothing Set a = Nothing End Sub
我在ASP中测试过,没有问题:Win2k Prof.+IIS5.0 <% set a=server.createobject("Project2.Class1") set rs=server.createobject("ADODB.Recordset") set rs=a.Query() response.write rs(0) '正确返回了结果 set rs=nothing set a=nothing%>
-微软亚洲技术中心 VB开发支持本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款 (<http://www.csdn.net/microsoft/terms.shtm>)。
象是ADODB.Connection.Open语句的功能。
打开数据库的过程封装起来了2 lee2002()
关不关都一样
Dim Rs
Set objMember = Server.CreateObject("Budget.QueryAndStat")
Set RS = Server.CreateObject("ADODB.RecordSet") dim ConnString,SQLString
ConnString="Provider=MSDAORA.1;Password=lhz;User ID=lhz;Data Source=gsi-hf;Persist Security Info=True"
objMember.ConnectString=ConnString
objMember.SelectFields="ID,预算编号,项目名称"
objMember.Table="COST_BUDGET"
objMember.Condition=" ID>123"
set rs=objMember.Query()
Response.Write RS.RecordCount
下面是一个例子,你看看就明白了:
创建一个DLL Project:
Option ExplicitPublic Function Query() As ADODB.Recordset '定义返回Recordset
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "dsn=LocalServer"
rs.CursorLocation = adUseClient '必须的
rs.Open "select * from table1", cn, adOpenForwardOnly, adLockReadOnly
Set rs.ActiveConnection = Nothing
cn.Close
Set cn = Nothing
Set Query = rs
End Function添加一个Standard Exe Project,Reference 上面的DLL
Option ExplicitPrivate Sub Command1_Click()
Dim rs As New ADODB.Recordset
Dim a As New Project2.Class1
Set rs = a.Query
Me.Print rs(0) '输出纪录
Set rs = Nothing
Set a = Nothing
End Sub
这个设置了,
连接的也试设过,没用.
ADODB.Recordset 错误 '800a0e78' 对象关闭时,不允许操作。 /www/site/list2.asp,行39
我说了VB下可以通过,但在ASP里出错.
<%
set a=server.createobject("Project2.Class1")
set rs=server.createobject("ADODB.Recordset")
set rs=a.Query()
response.write rs(0) '正确返回了结果
set rs=nothing
set a=nothing%>
为什么VB里能通过,ASP里通不过呢?VB技术支持兄能不能解释解释?