Sie sind auf Seite 1von 8

using using using using using using using

System; System.Data; System.Data.SqlClient; System.Text; System.Collections; System.Configuration; System.IO;

namespace DAL { public sealed class BillDAL { public BillDAL() { } private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters) { foreach (SqlParameter p in commandParameters) { if ((p.Direction == ParameterDirection.InputOutput) && (p.Value == null)) { p.Value = DBNull.Value; } command.Parameters.Add(p); } } private static void AssignParameterValues(SqlParameter[] commandParamete rs, object[] parameterValues) { if ((commandParameters == null) (parameterValues == null)) { return; } if (commandParameters.Length != parameterValues.Length) { throw new ArgumentException("Parameter count does not match Para meter Value count."); } for (int i = 0, j = commandParameters.Length; i < j; i++) { commandParameters[i].Value = parameterValues[i]; } } private static void PrepareCommand(SqlCommand command, SqlConnection con nection, SqlTransaction transaction, CommandType commandType, string commandText , SqlParameter[] commandParameters) { if (connection.State != ConnectionState.Open) { connection.Open();

} command.Connection = connection; command.CommandText = commandText; if (transaction != null) { command.Transaction = transaction; } command.CommandType = commandType; if (commandParameters != null) { AttachParameters(command, commandParameters); } return; } public static int ExecuteNonQuery(string connectionString, CommandType c ommandType, string commandText, params SqlParameter[] commandParameters) { using (SqlConnection cn = new SqlConnection(connectionString)) { cn.Open(); return ExecuteNonQuery(cn, commandType, commandText, commandPara meters); } } public static int ExecuteNonQuery(string connectionString, string spName , params object[] parameterValues) { if ((parameterValues != null) && (parameterValues.Length > 0)) { SqlParameter[] commandParameters = SqlHelperParameterCache.GetSp ParameterSet(connectionString, spName); AssignParameterValues(commandParameters, parameterValues); return ExecuteNonQuery(connectionString, CommandType.StoredProce dure, spName, commandParameters); } else { return ExecuteNonQuery(connectionString, CommandType.StoredProce dure, spName); } } public static int ExecuteNonQuery(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) { SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, (SqlTransaction)null, commandType, c ommandText, commandParameters); int retval = cmd.ExecuteNonQuery(); //cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return retval; }

public static DataSet ExecuteDataset(string connectionString, CommandTyp e commandType, string commandText, params SqlParameter[] commandParameters) { using (SqlConnection cn = new SqlConnection(connectionString)) { cn.Open(); return ExecuteDataset(cn, commandType, commandText, commandParam eters); } } public static DataSet ExecuteDataset(string connectionString, string spN ame, params object[] parameterValues) { if ((parameterValues != null) && (parameterValues.Length > 0)) { SqlParameter[] commandParameters = SqlHelperParameterCache.GetSp ParameterSet(connectionString, spName); AssignParameterValues(commandParameters, parameterValues); return ExecuteDataset(connectionString, CommandType.StoredProced ure, spName, commandParameters); } else { return ExecuteDataset(connectionString, CommandType.StoredProced ure, spName); } } public static DataSet ExecuteDataset(SqlConnection connection, CommandTy pe commandType, string commandText, params SqlParameter[] commandParameters) { SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, (SqlTransaction)null, commandType, c ommandText, commandParameters); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); cmd.Parameters.Clear(); return ds; } public static object ExecuteScalar(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters) { using (SqlConnection cn = new SqlConnection(connectionString)) { cn.Open(); return ExecuteScalar(cn, commandType, commandText, commandParame ters); } } public static object ExecuteScalar(string connectionString, string spNam e, params object[] parameterValues) { if ((parameterValues != null) && (parameterValues.Length > 0))

{ SqlParameter[] commandParameters = SqlHelperParameterCache.GetSp ParameterSet(connectionString, spName); AssignParameterValues(commandParameters, parameterValues); return ExecuteScalar(connectionString, CommandType.StoredProcedu re, spName, commandParameters); } else { return ExecuteScalar(connectionString, CommandType.StoredProcedu re, spName); } } public static object ExecuteScalar(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters) { SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, (SqlTransaction)null, commandType, c ommandText, commandParameters); cmd.ExecuteScalar(); object retval = cmd.Parameters[0].Value; //cmd.Parameters.Clear(); return retval; } public static SqlDataReader ExecuteReader(string connectionString, Comma ndType commandType, string commandText, params SqlParameter[] commandParameters) { SqlConnection cn = new SqlConnection(connectionString); cn.Open(); return ExecuteReader(cn, commandType, commandText, commandParameters ); } public static SqlDataReader ExecuteReader(string connectionString, strin g spName, params object[] parameterValues) { if ((parameterValues != null) && (parameterValues.Length > 0)) { SqlParameter[] commandParameters = SqlHelperParameterCache.GetSp ParameterSet(connectionString, spName); AssignParameterValues(commandParameters, parameterValues); return ExecuteReader(connectionString, CommandType.StoredProcedu re, spName, commandParameters); } else { return ExecuteReader(connectionString, CommandType.StoredProcedu re, spName); } } public static SqlDataReader ExecuteReader(SqlConnection connection, Comm andType commandType, string commandText, params SqlParameter[] commandParameters ) {

SqlDataReader dr; SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, connection, (SqlTransaction)null, commandType, c ommandText, commandParameters); dr = cmd.ExecuteReader(); cmd.Parameters.Clear(); return dr; } } public sealed class SqlHelperParameterCache { private SqlHelperParameterCache() { } private static Hashtable paramCache = Hashtable.Synchronized(new Hashtab le()); private static SqlParameter[] DiscoverSpParameterSet(string connectionSt ring, string spName, bool includeReturnValueParameter) { using (SqlConnection cn = new SqlConnection(connectionString)) using (SqlCommand cmd = new SqlCommand(spName, cn)) { cn.Open(); cmd.CommandType = CommandType.StoredProcedure; SqlCommandBuilder.DeriveParameters(cmd); if (!includeReturnValueParameter) { cmd.Parameters.RemoveAt(0); } SqlParameter[] discoveredParameters = new SqlParameter[cmd.Param eters.Count]; cmd.Parameters.CopyTo(discoveredParameters, 0); return discoveredParameters; } } private static SqlParameter[] CloneParameters(SqlParameter[] originalPar ameters) { SqlParameter[] clonedParameters = new SqlParameter[originalParameter s.Length]; for (int i = 0, j = originalParameters.Length; i < j; i++) { clonedParameters[i] = (SqlParameter)((ICloneable)originalParamet ers[i]).Clone(); } return clonedParameters; } public static void CacheParameterSet(string connectionString, string com mandText, params SqlParameter[] commandParameters) { string hashKey = connectionString + ":" + commandText; paramCache[hashKey] = commandParameters; }

public static SqlParameter[] GetCachedParameterSet(string connectionStri ng, string commandText) { string hashKey = connectionString + ":" + commandText; SqlParameter[] cachedParameters = (SqlParameter[])paramCache[hashKey ]; if (cachedParameters == null) { return null; } else { return CloneParameters(cachedParameters); } } public static SqlParameter[] GetSpParameterSet(string connectionString, string spName) { return GetSpParameterSet(connectionString, spName, false); } public static SqlParameter[] GetSpParameterSet(string connectionString, string spName, bool includeReturnValueParameter) { string hashKey = connectionString + ":" + spName + (includeReturnVal ueParameter ? ":include ReturnValue Parameter" : ""); SqlParameter[] cachedParameters; cachedParameters = (SqlParameter[])paramCache[hashKey]; if (cachedParameters == null) { cachedParameters = (SqlParameter[])(paramCache[hashKey] = Discov erSpParameterSet(connectionString, spName, includeReturnValueParameter)); } return CloneParameters(cachedParameters); } } //new class for DB management with PL public class DBClass { public string connectionstring = ConfigurationManager.ConnectionStrings[ "ConnectionString"].ConnectionString; public string ConnStr; public string CommStr; public SqlConnection Conn; public SqlCommand Comm; public SqlDataReader DR; public DataSet DS; public SqlDataAdapter DA; public void openadapter() { Conn = new SqlConnection(connectionstring); Comm = new SqlCommand(CommStr, Conn); DS = new DataSet(); DA = new SqlDataAdapter(); }

public void filladapter() { DA.SelectCommand = Comm; DA.Fill(DS); } public void dbopen() { Conn = new SqlConnection(connectionstring); Comm = new SqlCommand(CommStr, Conn); Conn.Open(); } public void refresh() { Comm = new SqlCommand(CommStr, Conn); } public string Fix(string str) { try { if (str.Trim() != "") { str = str.Trim().Replace("'", "''"); } } catch (Exception exception) { } return str; } public int LastAgentID() { string idVal = "1"; try { string queryString = "SELECT MAX(fld_id) FROM tbl_agents"; CommStr = queryString; dbopen(); idVal = Comm.ExecuteScalar().ToString(); Conn.Close(); } catch (Exception ex) { } return (int.Parse(idVal)); } public void CreateXML(string category, string searchstr)

{ try { FileInfo fi = new FileInfo(ConfigurationManager.AppSettings.Get( "FileStorageTxt")); if (fi.Length > 400) { fi.Delete(); } FileStream fs = new FileStream(ConfigurationManager.AppSettings. Get("FileStorageTxt"), FileMode.Append); StreamWriter wr = new StreamWriter(fs); string str; str = category + " " + searchstr; wr.WriteLine(str); wr.Close(); fs.Close(); } catch (Exception ex) { } } } }

Das könnte Ihnen auch gefallen