using System.IO;
using System.Data;
using System.Collections;
using System.Configuration;
using System.Xml;
using System.Data.SqlClient;
using System;
using log4net;
using log4net.Config;
namespace ChatPublicLib.DataAccess
{
public class DataAccess
{
#region "Constant(s)"
/// <summary>
///
/// </summary>
protected static string connectionString = ConfigurationManager.AppSettings["SQLConnectionString"];
/// <summary>
///
/// </summary>
protected static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase. GetCurrentMethod().DeclaringType);
/// <summary>
///
/// </summary>
private static readonly string logConfig = ConfigurationManager.AppSettings["Log4Net"];
#endregion
#region "Constructor(s)"
/// <summary>
///
/// </summary>
public DataAccess()
{
DOMConfigurator.ConfigureAndWatch(new FileInfo(logConfig));
}
/// <summary>
///
/// </summary>
~DataAccess()
{
}
#endregion
#region "Attributes/Properties"
/// <summary>
///
/// </summary>
protected SqlConnection conn = null;
/// <summary>
///
/// </summary>
protected SqlTransaction txn = null;
/// <summary>
///
/// </summary>
public SqlTransaction Transaction
{
get
{
return txn;
}
set
{
txn = value;
}
}
#endregion
#region "Public Methods"
/// <summary>
///
/// </summary>
/// <param name="v_ds"></param>
/// <param name="name"></param>
/// <param name="cmdText"></param>
/// <param name="cmdParms"></param>
public void FillDataSet(DataSet v_ds, string name, string cmdText, SqlParameter[] cmdParms)
{
try
{
if (null == v_ds)
v_ds = new DataSet();
if (null == conn)
{
conn = new SqlConnection(connectionString);
conn.Open();
//if (log.IsInfoEnabled)
// log.Info("[" + System.DateTime.Now.ToString() + "] DataAccess: Connect:: Database Connection successfully. ");
}
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.CommandType = CommandType.StoredProcedure;
if (null != cmdParms)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
cmd.ExecuteNonQuery();
adapter.Fill(v_ds, name);
}
}
}
finally
{
if (conn != null)
{
conn.Close(); //Closes connection
conn = null;
//if (log.IsInfoEnabled)
// log.Info("[" + System.DateTime.Now.ToString() + "] DataAccessBase: CloseConnection:: Database Connection Closed. ");
}
}
}
/// <summary>
/// return DataTable
/// </summary>
/// <param name="name"></param>
/// <param name="cmdText"></param>
/// <param name="cmdParms"></param>
public DataTable GetDataByReader(string name, string cmdText, SqlParameter[] cmdParms)
{
try
{
using (DataTable dt = new DataTable())
{
if (null == conn)
{
conn = new SqlConnection(connectionString);
conn.Open();
//if (log.IsInfoEnabled)
// log.Info("[" + System.DateTime.Now.ToString() + "] DataAccess: Connect:: Database Connection successfully. ");
}
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.CommandType = CommandType.StoredProcedure;
if (null != cmdParms)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
using (SqlDataReader dr = cmd.ExecuteReader())
{
dt.Load(dr);
return dt;
}
}
}
}
finally
{
if (conn != null)
{
conn.Close(); //Closes connection
conn = null;
//if (log.IsInfoEnabled)
// log.Info("[" + System.DateTime.Now.ToString() + "] DataAccessBase: CloseConnection:: Database Connection Closed. ");
}
}
}
/// <summary>
///
/// </summary>
/// <param name="cmdText"></param>
/// <param name="v_dt"></param>
public void DataTableUpdate(string cmdText, DataTable v_dt)
{
try
{
if (null == conn)
{
conn = new SqlConnection(connectionString);
conn.Open();
//if (log.IsInfoEnabled)
// log.Info("[" + System.DateTime.Now.ToString() + "] DataAccess: Connect:: Database Connection successfully. ");
}
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Transaction = this.txn;
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
using (SqlCommandBuilder builder = new SqlCommandBuilder(adapter))
{
adapter.Update(v_dt);
}
}
}
}
finally
{
if (conn != null)
{
conn.Close(); //Closes connection
conn = null;
//if (log.IsInfoEnabled)
// log.Info("[" + System.DateTime.Now.ToString() + "] DataAccessBase: CloseConnection:: Database Connection Closed. ");
}
}
}
/// <summary>
///
/// </summary>
/// <param name="cmdText"></param>
/// <param name="cmdType"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public int ExecuteNonQuery(string cmdText, SqlParameter[] cmdParms)
{
if (null == conn)
{
conn = new SqlConnection(connectionString);
conn.Open();
//if (log.IsInfoEnabled)
// log.Info("[" + System.DateTime.Now.ToString() + "] DataAccess: Connect:: Database Connection successfully. ");
}
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Transaction = this.txn;
if (null != cmdParms)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
int val = cmd.ExecuteNonQuery();
return val;
}
}
/// <summary>
///
/// </summary>
/// <param name="cmdText"></param>
/// <param name="cmdType"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public object ExecuteScalar(string cmdText, SqlParameter[] cmdParms)
{
if (null == conn)
{
conn = new SqlConnection(connectionString);
conn.Open();
//if (log.IsInfoEnabled)
// log.Info("[" + System.DateTime.Now.ToString() + "] DataAccess: Connect:: Database Connection successfully. ");
}
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Transaction = this.txn;
if (null != cmdParms)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
object val = cmd.ExecuteScalar();
return val;
}
}
/// <summary>
///
/// </summary>
public void CloseConnection()
{
if (conn != null)
{
conn.Close(); //Closes connection
conn = null;
/*
if (log.IsInfoEnabled)
log.Info("[" + System.DateTime.Now.ToString() + "] DataAccessBase: CloseConnection:: Database Connection Closed. ");
*/
}
//}
}
/// <summary>
///
/// </summary>
public void BeginTransaction()
{
if (null == conn)
{
conn = new SqlConnection(connectionString);
conn.Open();
/*
if (log.IsInfoEnabled)
log.Info("[" + System.DateTime.Now.ToString() + "] DataAccess: Connect:: Database Connection successfully. ");
*/
}
txn = conn.BeginTransaction();
}
/// <summary>
///
/// </summary>
public void CommitTransaction()
{
try
{
txn.Commit();
}
catch (System.Exception err)
{
throw err;
}
finally
{
this.CloseConnection();
}
}
/// <summary>
///
/// </summary>
public void RollbackTransaction()
{
if (txn != null)
txn.Rollback();
}
#endregion
}
}
=====================
/// <summary>
/// For getting NewsCategoryID,CategoryName from NewsCategory table By SiteID
/// </summary>
/// <returns></returns>
/// <parameters>SiteID </parameters>
/// <Remarks>Author:Ashish Shah Date: 2007/11/27</Remarks>
public DataTable GetNewsCategory(int SiteUserID)
{
DataTable dtNewsCategory = new DataTable();
DataAccess.DataAccess objDA = new DataAccess.DataAccess();
SqlParameter[] param ={
new SqlParameter("@SiteUserID",SqlDbType.Int)};
try{
param[0].Value = SiteUserID;
dtNewsCategory = objDA.GetDataByReader(TABLE_NEWS_CATEGORY, "NewsSelectAllCategoryBySiteUserID", param);
return dtNewsCategory;
}
catch (Exception ex){
if (log.IsErrorEnabled)
log.Error("[" + System.DateTime.Now.ToString() + "] Nescontroller::GetNewsCategory -", ex);
throw ex;
}
finally
{
if (dtNewsCategory != null)
{
dtNewsCategory.Dispose();
dtNewsCategory = null;
}
objDA = null;
}
}
=============================
public class NewsController
{
#region "Static Member(s)"
#region Private Members
/// <summary>
///
/// </summary>
private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase. GetCurrentMethod().DeclaringType);
/// <summary>
/// Returns the file download path for save the compressed html files..
/// </summary>
protected static string filedownloadpath = ConfigurationManager.AppSettings["FileDownloadPath"];
private static readonly string logConfig = ConfigurationManager.AppSettings["Log4Net"];
/// <summary>
/// Contains the table Name of NewsCategory
/// </summary>
private static string TABLE_NEWS_CATEGORY = "NewsCategory";
/// <summary>
/// Contains the table Name of NewsURL
/// </summary>
private static string TABLE_NEWS_URL = "NewsURL";
/// <summary>
/// Contains the table Name of SiteUserNews
/// </summary>
private static string TABLE_SITEUSER_NEWS = "SiteUserNews";
#endregion
#endregion
===============================
<connectionStrings>
<add name="ChatConnectionString1" connectionString="Data Source=SERVER\DEV;Initial Catalog=Chat;Persist Security Info=True;User ID=sa;MultipleActiveResultSets=False;Packet Size=4096;Application Name="Microsoft SQL Server Management Studio""
providerName="System.Data.SqlClient" />
</connectionStrings>