最近在给客户做一个客户管理系统时遇到一个问题:
使用下列这个连接字符串时情况如下
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加目修改权限。
相关文章
- ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法
- asp.net 连接sqlserver数据库
- Windows server2008 搭建ASP接口訪问连接oracle数据库全过程记录
- 用ASP.NET/C#连接Access和SQL Server数据库
- 数据库连接出错,请打开conn.asp文件检查连接字串。
- IIS下所有的asp程序都提示数据库连接出错请检查conn
- ASP.NET C# 连接 Oracle数据库增删改查,事务
- ASP:连接Access数据库的方法及使用感受
- ASP.Net的首选数据库连接
- JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List
.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动