 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#12006/3/29 19:48:28
我做一个网站,做了三个公共页面top.asp,bottom.asp,left.asp.单独运行都没问题,通过文件调用到首页就出问题了,老是提示说什么conn.asp文件要重定义db,rs,str.什么原因啊?
|
 蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
|
#22006/3/29 21:08:42
包含文件最容易出现这种问题,就是反复定义,如 rs,二个以上文件定义就会出现错误 避免方法就是不要用rs起命,而改用rsName, rsProduct等,这样重复定义的机会就会少些。
非常大鱼
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#32006/3/31 12:40:42
你说的方法好象不行啊。况且我看别人的代码也是这样,但别人却可以包含4个甚至更多的文件,为什么啊?要不我把源文件发给你,你帮我看看。行不行啊?
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#42006/3/31 12:41:53
或者我加你QQ,我好经常向你请教啊!
|
 缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
|
#52006/3/31 13:12:22
不是包含多少的问题.别说4个,400个也没有问题 问题是你在一个文件里面定义了一个变量,就不能再次定义 比如Dim rs,只有如果再次Dim rs就会出错
|
 三仙半
职务:普通成员
等级:1
金币:0.0
发贴:241
注册:2006/1/24 15:46:21
|
#62006/3/31 13:15:32
哥们,同一个问题别总是开新帖子,否则不好回答的,在另一个帖子(你的)里,我分析你在三个包含文件中都包含了conn.asp,而conn.asp定义了一个connection对象变量,所以出错,你检查一下是不是。
闭起眼睛看人生
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#72006/3/31 22:07:41
蓝鲸大哥,你说得没错。我的conn.asp代码是这样的: <% dim conn,connstr,db db="../files/data/files.mdb" set conn=Server.CreateObject("ADODB.CONNECTION"  connstr="Provider=Microsoft.Jet.OLEDB.4.0;data Source="&Server.MapPath(""&db&""  conn.open connstr %> 我看见别人的代码也是这样写的,并且包含多个文件也没错啊。你可以帮我修改下吗?我以前都是用DW自动生成数据库连接文件,最近才自己学着写全部代码,也是边学边写,希望你不吝赐教!非常感谢。
|
 三仙半
职务:普通成员
等级:1
金币:0.0
发贴:241
注册:2006/1/24 15:46:21
|
#82006/3/31 23:01:27
你把这里牵涉到的文件做个.RAR发上来。我们看看,如何?
闭起眼睛看人生
|
 蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
|
#92006/4/1 9:52:40
恐怕没时间帮你,最近忙得不得了。 只是请知道这个概念,用include包涵进来,就等于把几个文件合成一个文件一样, 如果在一个文件中有这样代码 dim rs dim conn dim rs
或
set conn=Server.CreateObject("ADODB.CONNECTION") set rs=Server.CreateObject("ADODB.Recordset") set conn=Server.CreateObject("ADODB.CONNECTION") set rs=Server.CreateObject("ADODB.Recordset")
肯定要出错了,分散在各个文件中也一样,但如果一个文件中 set conn=Server.CreateObject("ADODB.CONNECTION") set rsUser=Server.CreateObject("ADODB.Recordset") 另一文件 set rsRole=Server.CreateObject("ADODB.Recordset") 就不会出现错误
非常大鱼
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#102006/4/1 10:21:06
我想了一种办法:在每个包含页面重新连接数据库,而在主页面就调用conn.asp来连接数据库,不知可以否?我把代码传上来,各位如果能替我解决问题希望能帮我一把,先行谢过!
|
 缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
|
#112006/4/1 12:00:49
如果你无法理解为什么错误 就把全部的dim定义都去掉吧 反正vbs不强制要求变量申明
|
 yiliaocheng
职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
|
#122006/4/4 20:44:41
老兄啊,没用,我一不定义就更没法运行了
|
 jesron
职务:普通成员
等级:2
金币:1.0
发贴:393
注册:2001/1/27 0:06:31
|
#132006/4/13 11:38:37
重定义db,rs,str 已经提示的很清楚了呀,就是db,rs,str这三个变量在其它文件中被再次定义了,要重定义,得用redim呀。
|