在global.asa中打开数据库,怎样才能在任何网页中使用数据库对象?

xinxin 2000-04-22 06:09:00
我在global.asa中打开了数据库,但在网页中取数据时总是出现找不到对象的错误。用application变量也不成,怎么办呢?
好长时间进不了CSDN了,今天有幸进来,先对帮助过我的朋友说声谢谢。
...全文
268 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dannel 2000-05-02
  • 打赏
  • 举报
回复
将你的系统环境和源程序贴出来。
xinxin 2000-05-02
  • 打赏
  • 举报
回复
最近还是没有机会常上来,感谢朋友们的回帖。
以上说的用include,session和application的方案我都实验过了,调用时都找不到对象。我那里还能做错呢?
蝈蝈俊 2000-05-02
  • 打赏
  • 举报
回复
global.asa有几个??
路径方那去了??
Dannel 2000-04-28
  • 打赏
  • 举报
回复
在global.asa中:
Set Application("conn") = Server.CreateObject("ADODB.Connection")
Application("conn").Open (YOUR DSN)

在网页需要的地方:
SET Rs = SERVER.createobject("ADODB.RECORDSET")
Rs.Open (SQL) ,Application("conn")

顺便说一下在网页中不能关闭Application("Conn")
王释之 2000-04-28
  • 打赏
  • 举报
回复
为何不用*.inc
我认为在global.asa只能建立连接?
祝贺ghj1976申请斑竹成功
蝈蝈俊 2000-04-23
  • 打赏
  • 举报
回复
rs=application("rs")传的也是指针。当然不行。

我在申请当asp的斑竹,大家支持,支持。
蝈蝈俊 2000-04-23
  • 打赏
  • 举报
回复
直接用session
Set Session("conn") = Server.CreateObject("ADODB.Connection")
Session("conn") .Provider = "sqloledb"
Session("conn") .Open "Server=(local);Database=yourdatabase;UID=yourid;PWD=yourpass"

在调用的地方用Session("conn")

可能Set Session("conn") = conn是记录了conn的指针地址。
离开了global.asa, conn就释放了。
Session("conn") 当然就找不到该地址对应的conn了

xinxin 2000-04-23
  • 打赏
  • 举报
回复
我在global.asa的Application_OnStart写的打开数据库源码如下:
the_dsn=server.mappath("thedbs.dsn")
the_mdb=server.mappath("thedbs.mdb")
the_file="filedsn="+the_dsn+";dbq="+the_dbq+";"
set conn=server.createobject("adodb.connection")
conn.open the_file
SET rs = SERVER.createobject("ADODB.RECORDSET")
rs.CursorType = adOpenStatic
rs.Open "SELECT * FROM the_table" ,conn
当我第一次调用数据库时用:
rs.AbsolutePosition = cur_rec
就出现找不到rs对象的错误,似乎Application_OnStart里就不能定义整个网站的全局变量。看到ghj1976的帖子我立刻试验过,如果我把打开数据库的编码直接放到需要它的位置,就完全正常了。
我是在租用的硬盘空间中运行此编码,应该是iis环境,我看到killsun说用<!--#include file conn.asp -->如获至宝,赶紧试验,结果还是不成功。估计是定义在include中的对象还不是全局对象。
我也用application("rs")=rs,然后用rs=application("rs")传送对象到网页,结果还是失败,为什么呢?
jilimi 2000-04-23
  • 打赏
  • 举报
回复
在global.asa中:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Provider = "sqloledb"
conn.Open "Server=(local);Database=yourdatabase;UID=yourid;PWD=yourpass"
Set Session("conn") = conn

在需要用的地方:
conn=Session("conn")
即可。
蝈蝈俊 2000-04-22
  • 打赏
  • 举报
回复
global.asa中写的对不对???
您可以把它移到其它地方试一试。
kkkppp好 2000-04-22
  • 打赏
  • 举报
回复
如果使用iis就不会有这种现象!
我用pws时也有这种现象!
但是可以用<!--#include file conn.asp-->
解决吗!!!

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧