【转自】 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);
}
}