看了N多.NET三层的资料,可是自己还没有真的试过用三层来做个小项目,今天终于下决心,用三层做个新闻发布系统,很简单,对数据库的增删查改而已。。。
没想到在刚刚开始的时候就碰到了麻烦,在解决方案里添加新建项目DAL后如何在DAL中的类中读取到web.config里的数据库连接字符串。。。。
经本人多方查证和搜索,终于解决,现在方法记下:
新建项目,如图:
文件→添加→新建项目,如图:
选择C#的内裤,保存位置最好是在WEB项目所有的目录,如图:
这时解决方案管理器如图,可以把默认的类名改一下:
前戏准备完了之后,我们就开始在web.config里写上数据库连接字符串了,下面是我的web.config的代码片段:
<connectionStrings>
<add name="connStr" connectionString="server=niunan\sqlexpress; database=newssystem; uid=sa; pwd=123456"/>
</connectionStrings>
我们要从DAL层中读取到web.config中的信息,得使用System.Web下的***类,可是在我们在类开关输入using System.Web.发现后面的代码自动提示点不出来,大家可以看一下解决方案管理器中DAL层的引用:
,发现并没有System.Web,所以之前我们的代码自动提示就出不来,接下来我们只要引出System.Web就行了,此外,经测试,还得引入System.Configuration才能读取到web.config中的信息,如图添加引用:
添加成功后解决方案管理器如图:
这时我们就可以使用代码智能提示引用System.Web.Configuration了,然后我们就能开始获取web.config中的内容了,下面是我写的SQLHelper.cs的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Configuration; // 要引用这个命名空间
namespace DAL
{
public class SQLHelper
{
/// <summary>
/// 测试方法,获取数据库连接字符串
/// </summary>
/// <returns></returns>
public static string getConnStr()
{
return WebConfigurationManager.ConnectionStrings["connStr"].ToString();
}
}
}
紧接着我们就在页面上先测试一下是否成功的获取出来,同样的,在WEB项目中要使用DAL层里的东西,因为属于不同的二个项目,所以也得引用DAL,如图:
引用后发现解决方案管理器里没啥变化,的确是没啥变化,可是的确是已经引用了DAL层了,这时就可以写代码了,以下是我的default.aspx.cs的源码,在这里只是测试一下能不能获取出来,页面上什么都没放:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAL; // 引用DAL层,注意大小写,要与那边建立的内裤名称相对应
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// 在那边我是使用了static静态方法,所以可以直接通过类名点出他的方法
Response.Write(DAL.SQLHelper.getConnStr());
}
}
最后预览页面,即可看到读取出来了。。。。
分享到:
相关推荐
3. `DAL` 文件夹:包含数据访问相关的类,如EmployeeRepository.cs,可能还包括数据库连接字符串和实体模型。 4. 其他可能的文件:Global.asax(应用配置)、web.config(应用设置)、App_Start(路由和依赖注入配置...
以下是常见的C++笔试面试题及其核心知识点解析,帮助您系统复习
计算机短期培训教案.pdf
计算机二级Access笔试题库.pdf
下是一份关于C++毕业答辩的心得总结,内容涵盖技术准备、答辩技巧和注意事项,供参考
内容概要:本文档详细介绍了英特尔为苹果公司构建的基于智能处理单元(IPU)的Cassandra集群的技术验证(PoC)。主要内容涵盖IPU存储用例、已建存储PoC、MEV到MMG400的过渡、苹果构建IPU-Cassandra集群的动机以及PoC开发进展。文档还探讨了硬件配置、软件环境设置、性能调优措施及其成果,特别是针对延迟和吞吐量的优化。此外,文档展示了六节点Cassandra集群的具体架构和测试结果,强调了成本和复杂性的降低。 适合人群:对分布式数据库系统、NoSQL数据库、IPU技术感兴趣的IT专业人员和技术管理人员。 使用场景及目标:适用于希望了解如何利用IPU提升Cassandra集群性能的企业技术人员。主要目标是展示如何通过IPU减少服务器部署的成本和功耗,同时提高数据处理效率。 其他说明:文档中涉及的内容属于机密级别,仅供特定授权人员查阅。文中提到的技术细节和测试结果对于评估IPU在大规模数据中心的应用潜力至关重要。
计算机二级考试C语言题.pdf
计算机发展史.pdf
计算机仿真技术系统的分析方法.pdf
yolo编程相关资源,python编程与YOLO算法组成的坐姿检测系统,功能介绍: 一:实时检测学生错误坐姿人数 二:通过前端阿里云平台显示上传数据,实现数据可视化
办公室网安全监控uptime-kuma,docker镜像离线压缩包
计算机课程设计-网络编程项目源码.zip
将该dll包放入项目并引用,可以操作打印机
杰奇2.3内核淡绿唯美小说网站源码 PC+手机版 自动采集 全站伪静态,送10.1版本关关采集器
计算机辅助教学.pdf
内容概要:本文详细介绍了如何利用天文相机和其他相关硬件设备搭建一套高画质、高帧率的流星监控系统,以及针对红色精灵闪电这一特殊自然现象的捕捉方法。文中不仅涵盖了硬件的选择标准如CMOS靶面尺寸、量子效率等重要参数,还提供了基于Python和OpenCV实现的基本监控代码示例,包括亮度突变检测、运动检测算法等关键技术点。此外,对于安装位置的选择、供电方式、成本控制等方面也有具体的指导建议。 适用人群:对天文摄影感兴趣的爱好者,尤其是希望捕捉流星和红色精灵闪电等瞬时天文现象的专业人士或业余玩家。 使用场景及目标:适用于希望搭建个人天文观测站,用于科学研究或个人兴趣爱好的场景。目标是能够稳定可靠地捕捉到流星和红色精灵闪电等难以捉摸的天文现象,为研究提供高质量的数据资料。 其他说明:文中提到的一些技术和方法虽然较为复杂,但对于有一定编程基础和技术动手能力的人来说是非常实用的参考资料。同时,文中提供的省钱技巧也为预算有限的用户提供了一些有价值的建议。
时间序列分析-基于R(第2版)习题数据
内容概要:本文详细介绍了如何使用LabVIEW通过网口读取阿特拉斯PM4000控制器的扭矩值。主要内容涵盖开放式通讯协议的理解、阿特拉斯调试软件和测试软件的应用、LabVIEW程序的具体实现步骤,包括初始化网络连接、发送读取扭矩值命令、接收并解析扭矩值数据,以及关闭网络连接。文中还提供了多个调试技巧和注意事项,如硬件接线配置、数据解析方法、常见错误及其解决办法,以及性能优化建议。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些需要集成阿特拉斯设备并与之进行数据交互的专业人士。 使用场景及目标:适用于需要实时监控和采集阿特拉斯PM4000控制器扭矩值的工业应用场景,旨在提高数据采集效率和准确性,确保设备运行状态的良好监测。 其他说明:文中提供的代码片段和调试经验有助于快速定位和解决问题,提升开发效率。此外,还强调了数据解析过程中需要注意的细节,如字节序问题和超时设置等。
计算机二级VB重点知识点解析.pdf