服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - ASP教程 - asp数据库连接rs("user.id")

asp数据库连接rs("user.id")

2019-09-23 10:20asp教程网 ASP教程

数据库连接,有时会出错在conn.open connstr这地方的问题,及联接查询调用rs("user.id")的问题

最近在给客户做一个客户管理系统时遇到一个问题: 

使用下列这个连接字符串时情况如下 

connstr="DBQ="+server.mappath("db/#kehumsg.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" 
set conn=server.createobject("ADODB.CONNECTION") 
conn.open connstr 

有一个联接查询, 
中用到要调用第二个表的id, 
按正常来说可以这么调rs("b.id")但却显示在对应所需名称或序数的集合中,未找到项目。 
在csdn上发贴终找不出答案, 
最后用rs("id")解决问题,心想,这么调用应该是调第一个表的id吧, 
但它却调的是第二个表的,不过我要的就是第二个的, 
研究了一下,原来真是这样,它调的是后一个表的id. 感觉还不错,自己能研究出些东西了,呵呵~~ 
但快下班时客户说有问题,什么都进不了了, 
出错的地方在上面那种联接的conn.open connstr处, 
这里怎么会出错呢,在网上找了一下说有这种情况,于是按他说的改了一下改成 

dbpath=server.mappath("db/#kehumsg.mdb")   
connstr= "provider=microsoft.jet.oledb.4.0;data source=" & dbpath  
set conn=server.createobject("adodb.connection")   
conn.open connstr 

没多想,大概试了一下可以, 
但好景不长,今天客户又说出问题了. 
拿到一看,我服了,又是联合查询那出错了, 
怎么会这样呢,和经理研究了一下终于发现问题所在: 

这时调用第二个表的id里可以调用rs("b.id")也必须这么调用, 
不能像第一个联接字符那样了, 
我觉得应该是数据库引擎的问题,不知大家怎么认为, 
在此向大家推荐第二种联接, 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 

又发现一个问题,解决方法:windows/temp的权限users加目修改权限。 

延伸 · 阅读

精彩推荐