下面连接数据库语句中的“DefaultDir”是什么意思?为什么要加上这个?

来源:百度知道 编辑:UC知道 时间:2024/05/30 03:17:51
<%
dim conn
dim connstr
on error resume next
set conn=server.createobject("ADODB.CONNECTION")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & DefaultDir &server.mappath("downloadlu.mdb")&";"
%>
本来平常一般都是DBQ="&server.mappath("downloadlu.mdb")&";"吗?
怎么这里加上个DefaultDir呢?

按语法上看DefaultDir应该是一个字符串变量(也有可能是常量),这里的作用(根据字面意思估计)应该是数据库文件的存放的默认路径。但是我觉得这种用法反而是错误的,用server.mappath("数据库文件名")已经可以返回数据库文件的绝对路径了,前面再加一个DefaultDir简直就是多此一举,而且当DefaultDir不是空字符串时,还会出错。我建议写连接字符串时,这样写就足够了:
db_name = "数据库文件名"
connstr = "Provider='Microsoft.Jet.OLEDB.4.0'; Data Source=" & Server.MapPath(db_name) & ";"

P.S. 当然server.mappath可以正确返回服务器的绝对路径有一个前提,就是数据库文件必须和那个调用server.mappath的asp文件在同一个目录下(至少数据库文件要在那个asp文件的子目录下,不要放在两个平行的不同目录)。