DataAccess.cs
namespace DynamicFramework
{
public abstract class DataAccess : MarshalByRefObject
{
protected System.Data.Common.DbConnection connection;
protected string cnnstr = "";
protected DataAccess()
{
}
public static string ConnPath = System.Windows.Forms.Application.StartupPath + "\\LocalDB.mdb";
public static DataAccess LocalDb
{
get
{
return new OleAccess("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ConnPath);
//return new SqlClientAccess("Server=localhost;Trusted_Connection=true;Database=RestaurantDB");
}
}
public static DataAccess ServerDb
{
get
{
//return new OleAccess("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ConnPath);
//if (Configs.LocalConfig.Instanct.IsLocalServer)
//{
//}
//Trusted_Connection=true;
//return new SqlClientAccess("Server=.;Database=RestaurantDB,uid = sa,pwd =");
return new SqlClientAccess("Data Source=.;Initial Catalog=RestaurantDB;Persist Security Info=True;User ID=sa");
}
}
private System.Data.Common.DbCommand GetCommand(string sql, Dictionary<string, object> parameters)
{
System.Data.Common.DbCommand cmd = connection.CreateCommand();
cmd.CommandText = sql;
if (parameters != null)
{
foreach (KeyValuePair<string, object> item in parameters)
{
System.Data.Common.DbParameter parameter = cmd.CreateParameter();
parameter.ParameterName = item.Key;
parameter.Value = item.Value;
cmd.Parameters.Add(parameter);
}
}
return cmd;
}
#region DataAccess Command
public int ExcuteCommand(string sql,Dictionary<string,object> parameters)
{
using (connection)
{
connection.ConnectionString = cnnstr;
connection.Open();
return GetCommand(sql, parameters).ExecuteNonQuery();
}
}
public object ExecuteScalar(string sql, Dictionary<string, object> parameters)
{
using (connection)
{
connection.ConnectionString = cnnstr;
connection.Open();
return GetCommand(sql, parameters).ExecuteScalar();
}
}
public object ExecuteReader(string sql, Dictionary<string, object> parameters)
{
using (connection)
{
connection.ConnectionString = cnnstr;
connection.Open();
return GetCommand(sql, parameters).ExecuteReader();
}
}
public System.Data.DataTable ExecuteDataTable(string sql)
{
return ExecuteDataTable(sql, null);
}
public System.Data.DataTable Execute