适用于 ASP.NET 的 MySQL 自定义数据层






4.40/5 (7投票s)
基于 MySQL 的 Web 项目的数据访问层。
引言
你是否曾经使用过模糊的组合,例如 ASP.NET (2.0) 和 MySQL 这样的数据库?在这个项目中,你将获得针对 MySQL 的数据访问功能,这将帮助你最大限度地减少在 Web 项目中使用这种组合时编写数据访问层的努力。
背景
MySql.Data
命名空间包含大部分必需的类。该命名空间有一些方法,这些方法没有包含所有功能,例如 ExecuteDataset
,并且其中一些方法,例如 MySqlHelper
,不支持带有参数的存储过程。在这个项目中,数据访问层将包含诸如 ExecuteDataset
、ExecuteNonQuery
、ExecuteScalar
和 ExecuteReader
的方法,这些方法将使用存储过程和查询,无论是否带有参数。
使用代码
以下是如何在代码中使用数据访问类。有关详细实现,请参阅演示项目。在 web.config 文件中适当地设置连接字符串。
/// This method demonstrates ExecuteDataset.
/// Passing CommandType as Store Procedure & CommandText
/// as Store Procedure Name.
DataSet dsEmployee = new DataSet();
dsEmployee = DataAccess.ExecuteDataSet(CommandType.StoredProcedure,
"EmployeeDetails");
/// This method demonstrates ExecuteDataset.
/// Passing CommandType as Store Procedure & CommandText
/// as Store Procedure Name And Parameters.
DataSet dsEmployee = new DataSet();
MySqlParameter[] mySqlParams = new MySqlParameter[1];
mySqlParams[0] = new MySqlParameter();
mySqlParams[0].ParameterName = "?EmpId";
mySqlParams[0].Value = 2;
dsEmployee = DataAccess.ExecuteDataSet(CommandType.StoredProcedure,
"EmployeeDetails",mySqlParams);
/// This method demonstrates ExecuteDataset.
/// Passing CommandType as Text & CommandText as Query And Parameters.
DataSet dsEmployee = new DataSet();
MySqlParameter[] mySqlParams = new MySqlParameter[1];
mySqlParams[0] = new MySqlParameter();
mySqlParams[0].ParameterName = "?EmpId";
mySqlParams[0].Value = 2;
dsEmployee = DataAccess.ExecuteDataSet(CommandType.Text,
"Select * from employee where Id =?EmpId", mySqlParams);