【转自】 http://zhidao.baidu.com/question/100925344.html
--问题:ASP.NET三层架构DAL层连接数据库的方法
本人初步接触ASP三层,我知道如果在后台直接写代码 如: sqlconnection con=new sqlconnection("server=.;database=db;integrated security=true"); con.Open(); 以上写出代码后确定了登录方式,数据库名称,及安全度 但是如果在三层的DAL层中创建一个DB类,这个类中写一个连接数据库的方法,将如何写? 可以举个小例子或者写段非常精简而且又实用的例子吗? 比如我们用ASP.NET只做一个网站的注册 1.注册页面有 txtName,txtPwd,txtEmail,txtQQ 和 btnLogin 2.创建 Model,BLL,DAL层 3.Model层有User类 private string txtName; ......(定义 txtPwd,txtEmail,txtQQ ---直接省略 明白的一看就懂) public User { this.txtName=String.Empty; ...... } public string TxtName { get{return this.txtName;} set{this.txtName=Value;} } ...... 4.BLL层调用DAL层方法这个谁都知道 5.DAL层就开始写数据库的连接数据库及增删改查的方法了 我这里不明白的就是 如何在DAL层里面的DB类中写连接数据库的语句 写出来是不是能直接连接数据库 6.还有就是如何在DAL层定义了 Select类 利用Model层的值查找数据库中是否存在的信息 7.希望写的详细点 按照我的思路写出这个小例子的Model,BLL,DAL各层的代码 虽然说精简但是一定不要省略任何代码, 8.真的非常感谢 这次出100分以示对高手你的尊重和我学三层的决心!
问题补充:
希望写出以上思路的整体的例子,代码量那是肯定不多的,精简但不要省略任何代码,谢谢! 如:我新建了一个 website1 三个类库 Model BLL DAL 请将 DAL的 数据库查询类Select.cs,数据库连接类DB.cs里面的所有代码都写出来 数据库需要连接,最主要的是怎么连接,前提工作?命名空间? 详细但不失精简 谢谢啊!
--解答:
假设数据库连接字符串在web.config里配置如下 <connectionStrings> <add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=Database;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> 对你的DAL项目右键添加System.Configuration引用(必须步骤), 添加Model项目引用 然后在DB类(假设为UserDAL.cs) using System.Configuration;//这个必须. using Model那个项目 public class UserDAL { public const string ConnectionString = ConfigurationManager.ConnectionStrings [ "ConnectionString" ].ConnectionString; public int Insert(UserInfo user)// Model { SqlConnection sqlcon=new SqlConnection ( ConnectionString ); ................. } } BLL 添加DB和Model项目引用 using 那个DB public class UserBLL { public int Insert(UserInfo user) { int i = UserDAL.Insert(user); } }