多层开发 asp.net 网站程序 连接 access 数据库问题

周煜皓 2009-07-09 11:41:47
asp.net 三层架构 网站程序 连接 access 数据库问题
从 Web.Config 文件 中获取链接字符串 。 如果将 该类放在 App_Code 文件夹下可以。。
但是放在 App_Code 文件夹下 在 数据访问DAL 层 就不能访问到。

现在的问题是 :
在 项目“数据访问层” 中有个 DBHelper 类。如何在这个类中 获取到 数据库文件的相对路径。 (数据库是access 。放置在 App_Data 文件夹下),绝对路径 就不用写了。这个我知道。
用1层写程序的也就不要说出来了。

又或者。 大家平时用asp.net 多层开发的时候是如何连接access 数据库的。 如果你们链接成功。 那么access 数据库是放在哪里的呢??
...全文
98 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
周煜皓 2009-07-13
  • 打赏
  • 举报
回复
//首先,web.config文件中加入如下项目 
//<appSettings>
// <add key="OLEDBCONNECTIONSTRING" value="provider=microsoft.jet.oledb.4.0;data source="/>
// <add key="dbPath" value="~/App_Data/Data.mdb"/>
//</appSettings>
//一:创建类库项目时,默认是没有添加System.Web的,在项目名称上右键,找到System.Web加上就可以了(适用于多层程序)
//二:在APP_Code文件夹下,建立一个class文件,如下代码
public class DB
{
public static OleDbConnection CreateConn()
{
return new OleDbConnection(ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]));
}
}
//程序中需要调用数据库连接的地方,如下实例化一个oledbconnection对象OleDbConnection myconn = DB.CreateConn();
//然后下面就可以调用SQlHelper了,像这样
DataSet ds = SqlHelper.ExecuteDataset(myconn, CommandType.Text, "select * from categories");
周煜皓 2009-07-13
  • 打赏
  • 举报
回复
//首先,web.config文件中加入如下项目
//<appSettings>
// <add key="OLEDBCONNECTIONSTRING" value="provider=microsoft.jet.oledb.4.0;data source="/>
// <add key="dbPath" value="~/App_Data/Data.mdb"/>
//</appSettings>
//一:创建类库项目时,默认是没有添加System.Web的,在项目名称上右键,找到System.Web加上就可以了(适用于多层程序)
//二:在APP_Code文件夹下,建立一个class文件,如下代码
public class DB
{
public static OleDbConnection CreateConn()
{
return new OleDbConnection(ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]));
}
}
//程序中需要调用数据库连接的地方,如下实例化一个oledbconnection对象OleDbConnection myconn = DB.CreateConn();
//然后下面就可以调用SQlHelper了,像这样
DataSet ds = SqlHelper.ExecuteDataset(myconn, CommandType.Text, "select * from categories");
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zzk87 的回复:]
引用 1 楼 daolang0102 的回复:
看码:
web.config
HTML code <addkey="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="/> <addkey="ConnectionString2" value="App_Data\test.mdb"/>

cs:
C# code/// <summary>/// 获取连接字符串/// </summary>publicstaticstring ConnectionString
        {get
            {string _connectionString= ConfigurationManager.AppSettings["ConnectionString"]+ System.Web.HttpContext.Current.Server.MapPath("~"+"/"+ ConfigurationManager.AppSettings["ConnectionString2"]);string ConStringEncrypt= ConfigurationManager.AppSettings["ConStringEncrypt"];if (ConStringEncrypt=="true")
                {
                    _connectionString= DESEncrypt.Decrypt(_connectionString);
                }return _connectionString;
            }
        }



这种回答我一份都不会发的。
你就没看清楚我的 问题。
三层中你在数据访问层的 DBHelper 中 单单写上边这些东西。 不出错就奇怪了。。。
[/Quote]

哥们你太幽默了!
iabswfg858 2009-07-09
  • 打赏
  • 举报
回复
up
周煜皓 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 daolang0102 的回复:]
看码:
web.config
HTML code<addkey="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="/><addkey="ConnectionString2" value="App_Data\test.mdb"/>

cs:
C# code///<summary>/// 获取连接字符串///</summary>publicstaticstring ConnectionString
{get
{string _connectionString= ConfigurationManager.AppSettings["ConnectionString"]+ System.Web.HttpContext.Current.Server.MapPath("~"+"/"+ ConfigurationManager.AppSettings["ConnectionString2"]);string ConStringEncrypt= ConfigurationManager.AppSettings["ConStringEncrypt"];if (ConStringEncrypt=="true")
{
_connectionString= DESEncrypt.Decrypt(_connectionString);
}return _connectionString;
}
}
[/Quote]


这种回答我一份都不会发的。
你就没看清楚我的 问题。
三层中你在数据访问层的 DBHelper 中 单单写上边这些东西。 不出错就奇怪了。。。
  • 打赏
  • 举报
回复
看码:
web.config
<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source="/>
<add key="ConnectionString2" value="App_Data\test.mdb"/>


cs:
/// <summary>
/// 获取连接字符串
/// </summary>
public static string ConnectionString
{
get
{
string _connectionString = ConfigurationManager.AppSettings["ConnectionString"] + System.Web.HttpContext.Current.Server.MapPath("~" + "/" + ConfigurationManager.AppSettings["ConnectionString2"]);
string ConStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"];
if (ConStringEncrypt == "true")
{
_connectionString = DESEncrypt.Decrypt(_connectionString);
}
return _connectionString;
}
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧