数据库核心文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1)数据访问层核心代码

数据库连接是程序与数据库之间的桥梁,可以说没有数据库连接就不可能实现程序与数据库之间的数据交换。数据库连接属于数据访问层的内容,下面给出了数据库连接的关键代码。

public class DataBase

{

public SqlConnection GetConnection()

{

//初始化数据库链接字符串

string myStr =

ConfigurationManager.ConnectionStrings["Mispersonalconn"].ToString();

SqlConnection myConn = new SqlConnection(myStr);

return myConn;

}

读写数据库是软件最常见的操作。在更新数据库表的记录时,需要返回此次操作所影响的记录数。在数据访问层中,将这样的操作写成一个固定的函数,在业务逻辑层中,通过调用该函数实现对数据库的操作,代码如下:public void ExecNonQuery(SqlCommand myCmd)

{

try

{

if (myCmd.Connection.State != ConnectionState.Open)

{

myCmd.Connection.Open(); //打开与数据库的连接

}

//使用SqlCommand对象的ExecuteNonQuery方法执行SQL语句,并返回受影响的行数

myCmd.ExecuteNonQuery();

}

catch (Exception ex)

{

throw new Exception(ex.Message, ex);

}finally

{if (myCmd.Connection.State == ConnectionState.Open)

myCmd.Connection.Close(); //关闭与数据库的连接

}}}

在执行数据库操作时,经常要对表进行检索,有时检索结果只有一条符合,但有时会有多条记录。因此,在执行检索时,会将符合条件的记录保存在数据集中,并返回数据集。对于此类查询,通过数据访问层的代码实现。关键代码如下:public DataTable GetDataSet(SqlCommand myCmd, string TableName)

{

SqlDataAdapter adapt;

//初始化一个数据集

DataSet ds = new DataSet();

try

{

if (myCmd.Connection.State != ConnectionState.Open)

{

myCmd.Connection.Open();

}

adapt = new SqlDataAdapter(myCmd);

//填充数据集

adapt.Fill(ds, TableName);

//返回数据集

return ds.Tables[TableName];

}

catch (Exception ex)

{

//抛数据库操作异常

throw new Exception(ex.Message, ex);

}

finally

{

if (myCmd.Connection.State == ConnectionState.Open)

{

//关闭数据库连接

myCmd.Connection.Close();

2)业务逻辑层核心代码

在三层架构体系中,业务逻辑层主要完成系统业务的逻辑处理,它从用户表示层获取用户提交的数据,经过一系列的处理后,提交给数据访问层。数据访问层接受来自业务逻辑层的指令,执行对数据库表的操作,并将数据库操作的结果反馈给业务逻辑层,业务逻辑层再将这些数据传给用户表示层。考虑到用户表示层代码很多,受篇幅限制,下面只给出系统用户操作的业务逻辑层代码。

public class UserLoginService

{

//初始化一个数据库方法

DataBase db = new DataBase();

//取登录用户的密码、角色信息

public DataTable GetByNamePwdRole(string username, string password, strin

g role)

{

string sqlstr = "select * from Tb_User_Login where isnull(userName,'')='" +

username + "' and isnull(userPass,'')='" + password + "'and isnull(userRole,'')='" + role + "'";

//返回操作结果

return db.GetDataSetStr(sqlstr, "tbuser");

}

//新增一个新的系统用户

public void InsertNewUser(string id, string username, string password, string

role)

{

string sqlstr = "insert into [Tb_User_Login] values('" + id + "','" + usernam

e + "','" + password + "','" + role + "')";

//返回数据库操作结果

db.ExecNonQuery(db.GetCommandStr(sqlstr));

}

//根据用户名返回用户信息

public DataTable GetBindSourceByUsername(string username)

{

string sqlstr = "select ID 用户编号,userName 用户名,userRole 用户权限fro

相关文档
最新文档