ASP.NET中使用相对路径连接Access的方法

2010-08-28 10:49:01来源:西部e网作者:

方法1:

Web.config中这样写

调用代码这样写

OleDbConnection conn = new OleDbConnection(ConfigurationSettings.AppSettings["oleDSN"]+Server.MapPath(ConfigurationSettings.AppSettings["oleFile"].Trim()));

在Web.config中配置的好处就是以后修改数据库路径不用重新编译,只需要在Web.config中修改一下就可以来,不过注意最好用UltraEdit之类的文本编辑器修改,因为他是utf-8编码的。

方法2:

其实方法2与方法1是一样的,只不过不用在Web.config配置了,写的比较呆板。

string strConn = Server.MapPath("~/DataBase/weste_net.mdb;");
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source="+strConn);

方法3:

  ///获得连接字符串   
  public string GetConnectionString()
  {
   string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Getmdbfilepath();
   return strConnectionString;
  }
  
  ///组合连接字符。  
  private string Getmdbfilepath(){

   string strfilepath  = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;//判断当前进程的位置
   strfilepath = strfilepath.Remove(0,8);//去掉路径前面的"file:///"
   strfilepath = strfilepath.Remove(strfilepath.Length-18,18);//去掉实际生成的dll文件和bin路径,如"/bin/weste_net.DLL",可以灵活处理
   strfilepath = strfilepath + "\\DataBase\\weste_net.mdb";
   strfilepath = Regex.Replace(strfilepath,"/","\\");
   return strfilepath;
  }

方法3比较麻烦,只不过提出另一种思路。

转载本文请注明来自西部e网 www.weste.net

提示所需要的命名空间:

using System.Web;
HttpContext.Current.Server.MapPath();
//为当前 HTTP 请求获取 HttpContext 对象。

using System.Configuration;
//System.Configuration 命名空间提供类和接口,用于以编程方式访问 .NET Framework 配置设置和处理配置文件(.config 文件)中的错误。
ConfigurationSettings.AppSettings[];

using System.Data.OleDb;
//使用Access数据库。System.Data.OleDb 命名空间是用于 OLE DB 的 .NET Framework 数据提供程序。

关键词:ASP.NET

赞助商链接: