65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.40/5 (7投票s)

2007年12月13日

CPOL
viewsIcon

47825

downloadIcon

2025

基于 MySQL 的 Web 项目的数据访问层。

引言

你是否曾经使用过模糊的组合,例如 ASP.NET (2.0) 和 MySQL 这样的数据库?在这个项目中,你将获得针对 MySQL 的数据访问功能,这将帮助你最大限度地减少在 Web 项目中使用这种组合时编写数据访问层的努力。

背景

MySql.Data 命名空间包含大部分必需的类。该命名空间有一些方法,这些方法没有包含所有功能,例如 ExecuteDataset,并且其中一些方法,例如 MySqlHelper,不支持带有参数的存储过程。在这个项目中,数据访问层将包含诸如 ExecuteDatasetExecuteNonQueryExecuteScalarExecuteReader 的方法,这些方法将使用存储过程和查询,无论是否带有参数。

使用代码

以下是如何在代码中使用数据访问类。有关详细实现,请参阅演示项目。在 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);
© . All rights reserved.