查看: 581|回复: 13

[问与答] 【求助】想将表操作封装到function里出现的问题

[复制链接]
恭喜发财 发表于 2022-5-30 14:17:26 | 显示全部楼层 |阅读模式
原代码如下:
1行                        set rs=server.createobject("adodb.recordset")
2行                        sql="select * from company"
3行                        rs.open sql,conn,1,3
4行                                rs.addnew
5行                                rs("companyJC")=ccc
6行                                rs.update       
7行                                response.write "数据添加成功"
8行                        rs.close
9行                        set rs=nothing

【我的目的】想将1行至3行,封装到function或sub里,以便每次操作这个表都不需要写上面这三句,请问大侠怎么操作
xuanxiao 发表于 2022-5-30 14:29:45 | 显示全部楼层
很简单啊,等下给你写个范例
 楼主| 恭喜发财 发表于 2022-5-30 14:38:55 | 显示全部楼层
谢谢,在线等。。
xuanxiao 发表于 2022-5-30 19:27:19 | 显示全部楼层

  1. Sub rstAdd()
  2.         set rs=server.createobject("adodb.recordset")
  3.         sql="select * from company"
  4.         rs.open sql,conn,1,3
  5. End Sub

  6. Sub rstClose()
  7.         rs.close
  8.         set rs=nothing
  9. End Sub

  10. '*************示范*******
  11. Call rstAdd()

  12. rs.addnew
  13. rs("companyJC")=ccc
  14. rs.update      
  15. response.write "数据添加成功"


  16. Call rstClose()

复制代码
 楼主| 恭喜发财 发表于 2022-5-30 20:55:57 | 显示全部楼层
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<%
        '打开数据库
        dim conn,db
        set conn=server.createobject("adodb.connection")
        db="25.mdb"
        conn.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)
        conn.open
'--函数部分------------------------------------
Sub rstAdd()
        set rs=server.createobject("adodb.recordset")
        sql="select * from company"
        rs.open sql,conn,1,3
End Sub

Sub rstClose()
        rs.close
        set rs=nothing
End Sub
'--函数部分------------------------------------

        Call rstAdd()
                rs.addnew
                rs("companyJC")="CCC"
                rs.update
                response.write "OK"
        Call rstClose()

        '关闭数据库
        conn.close
        set conn=nothing
%>

</body>
</html>

-------------------------------------------------------------

测试错误
 楼主| 恭喜发财 发表于 2022-5-30 21:02:08 | 显示全部楼层
什么原因错了呢,麻烦大神再指教一下,谢谢
xuanxiao 发表于 2022-5-30 23:07:32 | 显示全部楼层
恭喜发财 发表于 2022-5-30 21:02
什么原因错了呢,麻烦大神再指教一下,谢谢

看起来没错 你的错误提示是?方便发邮箱看看 support@ttasp.com
 楼主| 恭喜发财 发表于 2022-5-31 00:15:59 | 显示全部楼层
111111111111111111111111111.jpg

显示是这样的错误
 楼主| 恭喜发财 发表于 2022-5-31 00:19:19 | 显示全部楼层

你编写的代码,你运行了吗,麻烦把运行整个页面发一下呗,我全完复制过来试试看,能不能出错
xuanxiao 发表于 2022-5-31 09:54:29 | 显示全部楼层
恭喜发财 发表于 2022-5-31 00:19
你编写的代码,你运行了吗,麻烦把运行整个页面发一下呗,我全完复制过来试试看,能不能出错

我这没数据库 ,测试不了。语法上是没问题的
xuanxiao 发表于 2022-5-31 09:55:08 | 显示全部楼层

iis7.5+ ASP环境典型配置要点
http://bbs.ttasp.com/thread-8591-1-1.html
(出处: 天天ASP家园)


参考下,你要打开错误提示。
 楼主| 恭喜发财 发表于 2022-5-31 12:42:55 | 显示全部楼层
xuanxiao 发表于 2022-5-31 09:54
我这没数据库 ,测试不了。语法上是没问题的

数据库名:25.mdb
表名:company
字段随便建一个就行

================

我没试了好多次都不对,不知道问题在哪
 楼主| 恭喜发财 发表于 2022-5-31 12:43:54 | 显示全部楼层
xuanxiao 发表于 2022-5-31 09:55
iis7.5+ ASP环境典型配置要点
http://bbs.ttasp.com/thread-8591-1-1.html
(出处: 天天ASP家园)

我不是在本地测试的,是在空间上测试的
xuanxiao 发表于 2022-5-31 13:37:54 | 显示全部楼层
恭喜发财 发表于 2022-5-31 12:42
数据库名:25.mdb
表名:company
字段随便建一个就行
  1. Function rstAdd()
  2.         set rs=server.createobject("adodb.recordset")
  3.         sql="select * from company"
  4.         rs.open sql,conn,1,3
  5.                 set rstAdd=rs
  6. End Function

  7. Sub rstClose()
  8.         rs.close
  9.         set rs=nothing
  10. End Sub

  11. '--函数部分------------------------------------

  12.      dim rs
  13.                         Set rs=rstAdd()
  14.                 rs.addnew
  15.                 rs("companyJC")="CCC"
  16.                 rs.update
  17.                 response.write "OK"
  18.         Call rstClose()
  19.                



  20.         '关闭数据库
  21.         conn.close
  22.         set conn=nothing
复制代码


试试这个,忘了RS对象需要返回
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号