从经典ASP中的函数返回记录集
发布时间:2020-12-16 00:11:51 所属栏目:asp.Net 来源:网络整理
导读:我对如何从经典ASP中的函数返回可读记录集感到茫然. 这就是我提出的,但它不起作用: Response.ClearResponse.CharSet = "utf-8"Response.ContentType = "text/plain"Dim CountSet Count = TestResponse.Write Count.Fields(0).ValueFunction Test Dim Query,
我对如何从经典ASP中的函数返回可读记录集感到茫然.
这就是我提出的,但它不起作用: Response.Clear Response.CharSet = "utf-8" Response.ContentType = "text/plain" Dim Count Set Count = Test Response.Write Count.Fields(0).Value Function Test Dim Query,Connection,Command,Recordset Query = " blah blah blah " Set Connection = Server.CreateObject("ADODB.Connection") Set Command = Server.CreateObject("ADODB.Command") Set Recordset = Server.CreateObject("ADODB.Recordset") Connection.ConnectionString = "blah blah blah" Connection.Open Set Command.ActiveConnection = Connection Command.CommandText = Query Set Recordset = Command.Execute Set Test = Recordset Recordset.Close Connection.Close Set Recordset = Nothing Set Command = Nothing Set Connection = Nothing End Function Response.Write Count.Fields(0).Value行产生无法在与请求的名称或序号对应的集合中找到Item.错误. 用Response.Write Count.Status替换它我在对象关闭时不允许操作.错误. 添加Count.Open会给出连接不能用于执行此操作.在此上下文中它是关闭的或无效的.错误. 马克B回答后编辑: 我已经查看了断开连接的记录集,但我不知道如何在我的示例中使用它们:每个教程都使用Recordset.Open直接将查询提供给记录集,但我使用的是参数化查询,甚至尝试了很多方法我无法当路上有ADODB.Command时,获得相同的结果. 我该怎么办? 提前致谢. 以下是基于Eduardo Molteni答案的解决方案: 与数据库交互的函数: Function Test Dim Connection,Recordset Set Connection = Server.CreateObject("ADODB.Connection") Set Command = Server.CreateObject("ADODB.Command") Set Recordset = Server.CreateObject("ADODB.Recordset") Connection.ConnectionString = "blah blah blah" Connection.Open Command.ActiveConnection = Connection Command.CommandText = "blah blah blah" Recordset.CursorLocation = adUseClient Recordset.Open Command,adOpenForwardOnly,adLockReadOnly Set Recordset.ActiveConnection = Nothing Set Test = Recordset Connection.Close Set Recordset = Nothing Set Command = Nothing Set Connection = Nothing End Function 调用函数的代码: Response.Clear Response.CharSet = "utf-8" Response.ContentType = "text/plain" Dim Recordset Set Recordset = Test Response.Write Recordset.Fields(0).Value Recordset.Close Set Recordset = Nothing 解决方法
这是一个返回断开连接的记录集的函数
Function RunSQLReturnRS(sqlstmt,params()) On Error Resume next ''//Create the ADO objects Dim rs,cmd Set rs = server.createobject("ADODB.Recordset") Set cmd = server.createobject("ADODB.Command") ''//Init the ADO objects & the stored proc parameters cmd.ActiveConnection = GetConnectionString() cmd.CommandText = sqlstmt cmd.CommandType = adCmdText cmd.CommandTimeout = 900 ''// propietary function that put params in the cmd collectParams cmd,params ''//Execute the query for readonly rs.CursorLocation = adUseClient rs.Open cmd,adLockReadOnly If err.number > 0 then BuildErrorMessage() exit function end if ''// Disconnect the recordset Set cmd.ActiveConnection = Nothing Set cmd = Nothing Set rs.ActiveConnection = Nothing ''// Return the resultant recordset Set RunSQLReturnRS = rs End Function (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何动态预选ASP.NET MVC中html.DropDownli
- asp.net – 访问offsetParent时是否存在IE 6/7“未指定错误
- asp.net-mvc-4 – 工作单元和通用存储库与实体框架5
- asp.net-mvc – Asp.net mvc 3 – 自定义模型绑定
- asp.net-mvc – 帖子上的Mvc模型ID 0
- asp.net – 为“忘记密码”执行代码的最佳方式
- ASP.NET MVC学习之NuGet在VS中的运用浅谈
- asp.net-mvc-routing – Web API路由和Web API帮助页面:如
- asp.net – 将Salesforce.com与.NET Server C集成的最佳安全
- html字符编码问题__.net core razor页面如何将后台对象序列
推荐文章
站长推荐
热点阅读