asp.net-C#连接Access数据库连接字符串:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source = "+System.Web.HttpContext.Current.Server.MapPath("App_Data\tbk.mdb;Persist Security Info=False;Persist Security Info=False" providerName="System.Data.OleDb");
在连接数据库时我经常来用Server.MapPath() 来把相对路径转换成绝对路径.下面是一点关于Server.MapPath() 的介绍,大家可以看看.
Server.MapPath()的命名空间:
System.Web.HttpContext.Current.Server.MapPath
Server.MapPath()代码示例:
/* 下面是一段我连接access数据库时常用的代码,其中Server.MapPath("datebase/date.mdb")是表示将 datebase/date.mdb的相对路径转换为绝对路径.如果date.mdb文件在D:\datebase下那么我们通过 Server.MapPath获取的到路径则是D:\datebase\date.mdb*/
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+Server.MapPath("datebase/date.mdb");
以下再举几个我们常见的Server.MapPath的示例:
Server.MapPath("/") //返回应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\
Server.MapPath("~") //表示当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置 如:C:\Inetpub\wwwroot\Example\
注:等效于Server.MapPath("~")。
Server.MapPath("./") //返回当前目录绝对路径
Server.MapPath("../") //返回上一级目录的绝对路径
写的比较乱,不过我想大家应该会看明白吧.Server.MapPath()讲来讲去的作用就是 将相对路径转换为绝对路径。
另:
如果你从Page类继承的类中执行这条语句,才可以简单地使用
DataBase = Server.MapPath("data.mdb");
否则写全命名空间:System.Web.HttpContext.Current.Server.MapPath();
注意:如果是在一个类库下的一个类中、要先添加引入using System.Web;因为新建一个类库时默认是不引入using System.Web的!