ASP.NETのSQLhelperのベスト書き方
6707 ワード
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();
}
}
}
}
}
}