.NET 三层架构项目代码实例 日记管理
using System;using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
/// <summary>
///PageBase 的摘要说明
/// </summary>
public class PageBase : System.Web.UI.Page
{
public PageBase()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
public static int GetPageSize()
{
int pageSize = Int32.Parse(ConfigurationManager.AppSettings["pageSize"].ToString());
return pageSize;
}
public static string GetListStyle(int intCurPage, int pageSize, int recordCount)
{
int previousPage;
int nextPage;
int pageCount;//总页数
pageSize = pageSize == 0 ? 1 : pageSize;
pageCount = (int)Math.Ceiling((recordCount * 1.0) / pageSize);
//矫正当前页
if (intCurPage > pageCount)
{
intCurPage = pageCount;
}
if (intCurPage < 0)
{
intCurPage = pageCount == 0 ? 0 : 1;
}
string fistPageStr;
string previousPageStr;
string nextPageStr;
string lastPageStr;
string gotoStr = @"<span> 转到第<input style='width:20px; height:12px;' id='zhuan' type='text' />页 <a href='#' onclick='Zhuan();'>转</a></span>";
if (intCurPage == 1 && pageCount > 1)
{
nextPage = intCurPage + 1;
fistPageStr = "<span ><a>首页</a></span>";
previousPageStr = "<span ><a>上页</a></span>";
nextPageStr = "<span ><a href='#' onclick='XiaYe("+ nextPage+","+pageCount+");'>下页</a></span>";
lastPageStr = "<span ><a href='#' onclick='MoYe("+pageCount+");'>末页</a></span>";
}
else if (intCurPage < pageCount && intCurPage > 1)
{
previousPage = intCurPage - 1;
nextPage = intCurPage + 1;
fistPageStr = "<span ><a href='#' onclick='ShouYe();'>首页</a></span>";
previousPageStr = "<span ><a href='#' onclick='ShangYe("+previousPage+");'>上页</a></span>";
nextPageStr = "<span ><a href='#' onclick='XiaYe(" + nextPage + "," + pageCount + ");'>下页</a></span>";
lastPageStr = "<span ><a href='#' onclick='MoYe(" + pageCount + ");'>末页</a></span>";
}
else if (intCurPage > 1 && intCurPage == pageCount)
{
previousPage = intCurPage - 1;
fistPageStr = "<span ><a href='#' onclick='ShouYe();'>首页</a></span>";
previousPageStr = "<span ><a href='#' onclick='ShangYe(" + previousPage + ");'>上页</a></span>";
nextPageStr = "<span ><a>下页</a></span>";
lastPageStr = "<span ><a>末页</a></span>";
}
else
{
fistPageStr = "<span ><a>首页</a></span>";
previousPageStr = "<span ><a>上页</a></span>";
nextPageStr = "<span ><a>下页</a></span>";
lastPageStr = "<span ><a>末页</a></span>";
gotoStr = @"<span> 转到第<input style='width:20px; height:12px;' id='ye' type='text' />页 <a>转</a></span>";
}
string listNavigate = fistPageStr + previousPageStr + nextPageStr + lastPageStr + gotoStr;
string pagingStyle = @"<table cellpadding='0' cellspacing='0' border='0' width='100%'>
<tr>
<td style='width:15px; height:29px;'></td>
<td>
<table cellpadding='0' cellspacing='0' border='0' width='100%'>
<tr>
<td style='width:240px;'><div>
共{0}条记录,当前第{2}/{1}页</div></td>
<td> </td>
<td style='width:220px;'><div>
{3}
</div>
</td>
</tr>
</table>
</td>
<td style='width:9px;'></td>
</tr>
</table>";
pagingStyle = string.Format(pagingStyle, recordCount, pageCount, intCurPage, listNavigate);
return pagingStyle;
}
}
--------------------编程问答-------------------- using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// Sql Server 操作基类
/// </summary>
///<author>dsq</author>
///<datetime>09-10-12</datetime>
public class SqlHelper
{
public SqlHelper()
{}
#region 公共方法
/// <summary>
/// 验证字符串数组
/// </summary>
/// <param name="arr">字符串数组</param>
/// <returns>验证结果:true or false</returns>
private static bool ArrayIsNullOrEmpty(string[] arr)
{
if (arr == null || arr.Length < 1)
return true;
else
{
foreach (string parm in arr)
{
if (string.IsNullOrEmpty(parm))
return true;
}
return false;
}
}
/// <summary>
/// 检查参数
/// </summary>
/// <param name="parms">被检测的数组对象</param>
/// <returns>检测结果:为空:true or false</returns>
private static bool SqlParameterIsNullOrEmpty(SqlParameter[] parms)
{
if (parms == null || parms.Length <= 0)
{
return true;
}
else
{
foreach (SqlParameter parm in parms)
{
if (parm == null)
return true;
}
return false;
}
}
/// <summary>
/// 检查参数
/// </summary>
/// <param name="parms">被检测的数组对象</param>
/// <returns>检测结果:为空:true or false</returns>
private static bool SqlParameterIsNullOrEmpty(SqlParameter[][] parms)
{
if (parms == null || parms.Length <= 0)
{
return true;
}
else
{
for (int i = 0; i < parms.Length; i++)
{
if (parms[i] == null || parms[i].Length < 1)
return true;
foreach (SqlParameter parm in parms[i])
{
if (parm == null)
return true;
}
}
return false;
}
}
#endregion
#region 执行存储过程
#region 查询数据
/// <summary>
/// 带参数的存储过程查询
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="parms">参数</param>
/// <param name="conString">连接字符串</param>
/// <returns>数据表</returns>
public static DataTable Proc_ExecuteDataTable(string procName, SqlParameter[] parms, string conString)
{
bool isNull = SqlParameterIsNullOrEmpty(parms) || string.IsNullOrEmpty(procName) || string.IsNullOrEmpty(conString);
if (isNull)
return null;
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(conString))
{
using (SqlCommand command = new SqlCommand())
{
command.Connection = conn;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = procName;
foreach (SqlParameter parm in parms)
command.Parameters.Add(parm);
try
{
conn.Open();
using (SqlDataReader dr = command.ExecuteReader())
{
dt.Load(dr);
}
return dt;
}
catch
{
return null;
}
}
}
}
/// <summary>
/// 不带参数的存储过程查询
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="conString">连接字符串</param>
/// <returns>数据表</returns>
public static DataTable Proc_ExecuteDataTable(string procName, string conString)
{
if (string.IsNullOrEmpty(procName) || string.IsNullOrEmpty(conString))
return null;
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(conString))
{
using (SqlDataAdapter adapter = new SqlDataAdapter(procName, conn))
{
adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
try
{
adapter.Fill(dt);
return dt;
}
catch
{
return null;
}
}
}
}
/// <summary>
/// 带参数的存储过程查询
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="parms">参数</param>
/// <param name="conString">连接字符串</param>
/// <returns>数据集</returns>
public static DataSet Proc_ExecuteDataSet(string procName, SqlParameter[] parms, string conString)
{
bool isNull = SqlParameterIsNullOrEmpty(parms) || string.IsNullOrEmpty(procName) || string.IsNullOrEmpty(conString);
if (isNull)
return null;
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(conString))
{
using (SqlCommand command = new SqlCommand(procName, conn))
{
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parm in parms)
command.Parameters.Add(parm);
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
try
{
adapter.Fill(ds);
return ds;
}
catch
{
return null;
}
}
}
}
}
/// <summary>
/// 带参数的存储过程查询
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="parms">参数</param>
/// <param name="tbName">内存表表名</param>
/// <param name="conString">连接字符串</param>
/// <returns>数据集</returns>
public static DataSet Proc_ExecuteDataSet(string procName, SqlParameter[] parms, string tbName, string conString)
{
bool isNull = SqlParameterIsNullOrEmpty(parms) || string.IsNullOrEmpty(procName) || string.IsNullOrEmpty(tbName) || string.IsNullOrEmpty(conString);
if (isNull)
return null;
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(conString))
{
using (SqlCommand command = new SqlCommand(procName, conn))
{
command.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter parm in parms)
command.Parameters.Add(parm);
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
try
{
adapter.Fill(ds, tbName);
return ds;
}
catch
{
return null;
}
}
}
}
}
--------------------编程问答-------------------- 是存储过程哇 --------------------编程问答-------------------- 你想问什么?俺只看到2大段代码 --------------------编程问答-------------------- --------------------编程问答-------------------- 就是,就是。写二行代码啊
补充:.NET技术 , ASP.NET