using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace Common
{
public sealed class SQLHelper
{
//数据库连接字符串
private readonly static string ConnStr = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
/// <summary>
/// 返回所影响的条数
/// </summary>
public static int ExecNonquery(string sql,SqlParameter[] parameter)
{
try
{
using (SqlConnection conn = new SqlConnection(ConnStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
if (parameter != null)
{
cmd.Parameters.AddRange(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
catch (Exception e)
{
RecordLog.Record(e.Message, e.StackTrace.ToString());
return -1;
}
}
/// <summary>
/// 返回首行首列
/// </summary>
public static object ExecScalar(string sql, SqlParameter[] parameter)
{
try
{
using (SqlConnection conn = new SqlConnection(ConnStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
if (parameter != null)
{
cmd.Parameters.AddRange(parameter);
}
return cmd.ExecuteScalar();
}
}
}
catch (Exception e)
{
RecordLog.Record(e.Message, e.StackTrace.ToString());
return null;
}
}
/// <summary>
/// 返回结果集
/// </summary>
public static DataSet ExecDataSet(string sql, SqlParameter[] parameter)
{
try
{
using (SqlConnection conn = new SqlConnection(ConnStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
if (parameter != null)
{
cmd.Parameters.AddRange(parameter);
}
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds;
}
}
}
catch (Exception e)
{
RecordLog.Record(e.Message, e.StackTrace.ToString());
return null;
}
}
/// <summary>
/// 返回一张表
/// </summary>
public static DataTable ExecDataTable(string sql, SqlParameter[] parameter)
{
try
{
using (SqlConnection conn = new SqlConnection(ConnStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
if (parameter != null)
{
cmd.Parameters.AddRange(parameter);
}
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds.Tables[0];
}
}
}
catch (Exception e)
{
RecordLog.Record(e.Message, e.StackTrace.ToString());
return null;
}
}
/// <summary>
/// 分页存储过程
/// </summary>
/// <param name="TableName">表名</param>
/// <param name="FieldName">字段名</param>
/// <param name="wheres">where条件</param>
/// <param name="order">只能是desc or asc</param>
/// <param name="PageSize">每页条数</param>
/// <param name="PageIndex">当前页码</param>
/// <param name="TotalCount">总页码</param>
/// <param name="PageIdORField">指定字段来分页</param>
/// <param name="OrderField">排序指定的字段</param>
public static DataSet LinkProce(string TableName, string FieldName, string wheres, string order, string PageIdORField, string OrderField, ref int PageSize, ref int PageIndex)
{
using (SqlConnection conn = new SqlConnection(ConnStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "sp_PagingTabs";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@TableName", TableName);
cmd.Parameters.AddWithValue("@FieldName", FieldName);
cmd.Parameters.AddWithValue("@where", wheres);
cmd.Parameters.AddWithValue("@Order", order);
cmd.Parameters.AddWithValue("@OrderField", OrderField);
cmd.Parameters.AddWithValue("@PageIdORField", PageIdORField);
cmd.Parameters.AddWithValue("@PageSize", PageSize);
cmd.Parameters.AddWithValue("@PageIndex", PageIndex);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
try
{
da.Fill(ds);
return ds;
}
catch
{
return null;
}
finally
{
ds.Dispose();
conn.Close();
}
}
}
}
}
}
ASP.NET的SQLHelper最佳写法
原创Johnny_Cheung 博主文章分类:asp.net ©著作权
文章标签 sql System 分页 文章分类 JavaScript 前端开发
©著作权归作者所有:来自51CTO博客作者Johnny_Cheung的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:设计模式 -- 懒汉模式
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Asp.Net Core 配置动态WebApi
.Net Core 配置动态WebApi
动态生成 Web 应用服务 -
ASP.NET Core: 全新的ASP.NET !
ASP.NET Core 1.0 是一个开源跨平台的开发框架,用于构建基于云的现代 Web 应用 。它是从底层开始重新构建来提供性能优良的Web应
ASP.NET ASP.NET Core asp.net mvc .net -
ASP.NET缓存:方法和最佳实践
【简 介】 在 ASP.NET 提供的许多特性中,缓存支持无疑是我最欣赏的特性,
asp.net browser 浏览器 cache insert