ASP.NET MySql编写的增删改查和分页等简单的三层结构大概是怎样的(最好有代码)

1天前 (10-09 10:31)阅读2回复0
xxhh
xxhh
  • 管理员
  • 注册排名4
  • 经验值35395
  • 级别管理员
  • 主题7079
  • 回复0
楼主

  code:

? ? ? ?/// 获取分页办法而且返回总条数

每页的条数

页码

Sql语句

排序

总条数

? ? ? ?public static DataSet GetList(int pageSize, int pageIndex, string strSql, string sortName, out int ResultCount)

? ? ? ? ? ?MySqlParameter outParmCount = new MySqlParameter("@out_total", MySqlDbType。

  Int32)

? ? ? ? ? ? ? ?Direction = ParameterDirection。Output

? ? ? ? ? ?IDataParameter[] parameters = {

? ? ? ? ? ? ? ? ? ?new MySqlParameter("@strsql", MySqlDbType。

  VarChar, 4000),

? ? ? ? ? ? ? ? ? ?new MySqlParameter("@pageIndex", MySqlDbType。Int32),

? ? ? ? ? ? ? ? ? ?new MySqlParameter("@pageSize", MySqlDbType。

  Int32),

? ? ? ? ? ? ? ? ? ?new MySqlParameter("@orderType", MySqlDbType。Int32),

? ? ? ? ? ? ? ? ? ?new MySqlParameter("@sortName", MySqlDbType。

  VarChar,50),

? ? ? ? ? ? ? ? ? ?outParmCount

? ? ? ? ? ?parameters[0]。

  Value = strSql;

? ? ? ? ? ?parameters[1]。Value = pageIndex;

? ? ? ? ? ?parameters[2]。Value = pageSize;

? ? ? ? ? ?parameters[3]。

  Value = 1;

? ? ? ? ? ?parameters[4]。Value = sortName;

? ? ? ? ? ?Dictionary dic = new Dictionary { { "@out_total", "" } };

? ? ? ? ? ?DataSet ds = RunProcedure("GetRecordAsPageMulti", parameters, ref dic);

? ? ? ? ? ?ResultCount = dic["@out_total"] == null || dic["@out_total"] == "" ? 0 : dic["@out_total"]。

  ToInt32();

? ? ? ? ? ?return ds;

下面是Mysql的分页存储过程

BEGIN

-- 申明:分页存储过程

declare startRow int;

declare sqlStr varchar(5999);

declare limitTemp varchar(1000);

declare orderTemp varchar(1000);

set startRow = (pageIndex-1)*pageSize;

set @sqlStrtotal= CONCAT('select count(1) into @total from (', strsql,') as TableNameTotal');

prepare stmt from @sqlStrtotal;

? ?execute stmt;

set out_total = @total;

? ?set @sqlStrtotal = null;

set sqlStr = strsql ;

if pageSize=0 THEN

? ? set limitTemp =CONCAT('');

ELSE

? ? set limitTemp = CONCAT(' limit ',startRow,',',pageSize);

end IF;

set orderTemp = CONCAT(' order by ',sortName);

if orderType = 0 then

set orderTemp = CONCAT(orderTemp,' ASC ');

else

set orderTemp = CONCAT(orderTemp,' DESC ');

end if;

set @sqlString = CONCAT(sqlStr,' ',orderTemp,limitTemp);

#select @sqlString;

prepare sqlstmt from @sqlString;

execute sqlstmt;

deallocate prepare sqlstmt;

END

上面是调 用的办法,下面是分页的存储过程!。

一是ACCESS数据库过大,形成假死现象,处理办法:改用MSSQL数据库; 二是拜候人数太多,ACCESS数据库的承载才能是有限的,处理办法:改用MSSQL数据库; 三是翻开数据库后,没有封闭收受接管资本,时间长了,就会锁死,处理办法:优化语句

办法一: 利用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET拜候MySQL数据库设想的.NET公用拜候组件。完成该组件后,需要在项目中引用那个组件,也能够间接在设置装备摆设文件的节点内添加下面的节点: 之后在法式中引用定名空间MySql.D

0
回帖

ASP.NET MySql编写的增删改查和分页等简单的三层结构大概是怎样的(最好有代码) 期待您的回复!

取消