c 三层架构访问oracle,使用C#语言结合三层框架连接数据库实现简单数据登录功能...

很多人在使用Microsoft Visual Studio的时候不知道怎么连接数据库和使用三层框架,今天我们来一起学习怎么利用Microsoft Visual Studio 建立一个简单的登陆页面。

工具:

Microsoft Visual Studio 2010

SQL Server Management Studio

步骤:

1.首先新建一个空白的解决方案

09a6af01e265f3400e567ab421affe52.png

05d20d8b97fc62483b6c4a8af745c0a9.png

2.右键点击解决方案建立我们需要的三层。

86a4008f6468d77469f3d92bc0824b09.png

在建立三层的时候有一点要注意,因为三层架构分为:表现层(UI(User Interface))、业务逻辑层(BLL(Business Logic Layer))、数据访问层(DAL(Data Access Layer))再加上实体类库(Model)所以我们Model,DAL和BLL层都建立为类库(如图一)而UI层建立为web项目(如图二)

3c452f075e9f5c2bbf4c3970a98c4d6d.png

图一

e37e1f1cf0506ebcbe5bacf29b87cbfa.png

图二

建立完成以后就是下表啦!已经成功三分之一啦!为自己鼓掌吧!

c7291ca8952351958e88e4ba06f35fa3.png

三层要怎么联系起来?接下来就是引用啦! 右键引用,添加引用

引用关系:

BLL需要引用DAL和Model;

DAL需要引用Model;

Model是实体,不需要引用其他层;

98d6b8ebf2b3b94c44e741efcecc1f28.png

接下来就是连接数据库和执行代码操作啦~

在数据库里面建立一个表,取名为Test里面有两列并加入两个数据,如图:

d04e782ccc27140c58993a0a03b6a9ab.png

d9a2729dbc3483f020f56275a6f35dbc.png

最后一步,上代码。

Model层:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Model

{

public class Class1

{

public string username {set;get;}

public string userpwd { set; get; }

}

}

Dal层:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data;

using System.Data.SqlClient;

namespace Dal

{

public class Class1

{

public List MyList(string where)

{

DataSet ds = DB.ToGetData("select *from Test " + where);

if (ds != null && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)

{

Model.Class1 MyClass1 = null;

List MyList = new List();

foreach (DataRow item in ds.Tables[0].Rows)

{

MyClass1 = new Model.Class1();

MyClass1.username = item["username"].ToString();

MyClass1.userpwd = item["userpwd"].ToString();

MyList.Add(MyClass1);

}

return MyList;

}

else

{

return null;

}

}

}

public class DB

{

static string ConnStr = "Data Source=.;Initial Catalog=调用的数据库名;Persist Security Info=True;User ID=数据库用户名;Password=数据库密码";

public static DataSet ToGetData(string Sql)

{

using (SqlConnection Conn = new SqlConnection(ConnStr))

{

using (SqlDataAdapter da = new SqlDataAdapter(Sql, Conn))

{

DataSet ds = new DataSet();

Conn.Open();

da.Fill(ds);

da.Dispose();

return ds;

}

}

}

}

}

Bll层:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Bll

{

public class Class1

{

Dal.Class1 NewDal = new Dal.Class1();

public List Login(string username, string userpwd)

{

if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(userpwd))

{

return NewDal.MyList(" where username='"+username+"' and userpwd='"+userpwd+"'" );

}

else

{

return null;

}

}

}

}

UI层:(Login窗体)

1前端:

用户名:&nbsp

用户密码:

&nbsp&nbsp&nbsp

οnclick="Button1_Click" />

2.后端:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace UI

{

public partial class Login : System.Web.UI.Page

{

Bll.Class1 NewBll = new Bll.Class1();

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Button1_Click(object sender, EventArgs e)

{

string username = TextBox1.Text.Trim();

string userpwd = TextBox2.Text.Trim();

if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(userpwd))

{

List Myuserlist = NewBll.Login(username, userpwd);

if (Myuserlist != null)

{

Page.ClientScript.RegisterStartupScript(GetType(), "js", "");

}

else

{

Page.ClientScript.RegisterStartupScript(GetType(), "js", "");

}

}

else

{

Page.ClientScript.RegisterStartupScript(GetType(), "js", "");

}

}

}

}

在UI层点击运行(F5),成功了以后就这样了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值