接口定义好后,转到数据访问层中,新建一个名为UserInfoDA的类,所有的类须加上访问修饰符public,因为这些类都会在其他类中调用,故定义为公有类。在类中的接口名右键点击实现接口,就会出现接口中定义的方法,而这些方法就实在这里实现的,方法中主要是写T-SQL语句对数据库进行操作,一般使用Switch语句实现。
具体代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace SQLServerDAL
{
public class UserInfoDAL:IDAL.IUserInfo
{
#region IUserInfo 成员
public int Add(Model.UserInfo model)
{
string SQL = ""; //添加数据 注册时的T-SQL插入语句
switch (model.OsFlag)
{
case 0: SQL="insert into userInfo (userName,accountNum,password,telephone,address) values ('"+model.UserName+"','"+model.AccountNum+"','"+model.Password+"','"+model.Telephone+"','"+model.Address+"')";break;
}
return SqlHelper.ExecuteNonQuery(SqlHelper.CONN_STRING_LC, CommandType.Text, SQL);
}
public int Delete(Model.UserInfo model)
{
throw new NotImplementedException();
}
public int Update(Model.UserInfo model)
{
throw new NotImplementedException();
}
public System.Data.DataSet FindList(Model.UserInfo model)
{
string SQL = ""; //查询语句,返回一张数据表
switch (model.OsFlag)
{
case 0: SQL = "select * from UserInfo where userName='" + model.UserName + "'"; break;
case 1: SQL = "select * from UserInfo where userName='" + model.UserName + "' and password='" + model.Password + "'"; break;
case 2: SQL = "select * from UserInfo "; break;
}
return SqlHelper.ExecuteDataset(SqlHelper.CONN_STRING_LC, CommandType.Text, SQL);
}
#endregion
}
}
模型层中用到了SqlHelper这个类来对数据库进行操作,简化了对数据库操作的代码。
定义模型层需要注意的几点:
1.数据访问层用来实现接口(即实现接口中定义的方法);
2.T-SQL语句一般用Switch语句来组织更方便(比if语句执行效率要高);
3.使用SQLHelper类文件时需要修改命名空间,与类名保持一致;
4.需要在在配置文件(Web.config)中书写数据库连接字符串;
5.需要引用配置文件的命名空间(System.Configuration)
6.T-SQL语句需要一个操作标识来区分,在Model层中封装此字段
当一个类中需要用到其他类中的方法或属性时,需要添加对这个类的引用。
待续→↓