精简的后台程序代码——Insert
2016-07-19 15:31
357 查看
public class Insert
{
private DbHelper _DbHelper = null; //数据操作类
private string INSERT_SQL = @"INSERT INTO {0} ({1}) VALUES ({2})"; //新增语句
private string _TableName = string.Empty; //表名
private Hashtable _Columns = new Hashtable(); //列名称/值 的集合
private DynamicParameters _Parameters = new DynamicParameters(); //参数
/// <summary>
/// 初始化
/// </summary>
/// <param name="dbHelper">帮助类</param>
/// <param name="tableName">表名称</param>
public Insert(DbHelper dbHelper, string tableName)
{
_DbHelper = dbHelper;
_TableName = tableName;
}
/// <summary>
/// 初始化列名称/值 集合
/// </summary>
/// <param name="name">名称</param>
/// <param name="value">值</param>
/// <returns></returns>
public Insert Column(string name,object value)
{
_Columns.Add(name, value);
return this;
}
/// <summary>
/// 初始化列名称/值 集合
/// </summary>
/// <param name="columns">列名称/值 集合</param>
/// <returns></returns>
public Insert Column(Hashtable columns)
{
_Columns = columns;
return this;
}
/// <summary>
/// 执行插入操作
/// </summary>
/// <returns></returns>
public int Execute()
{
if (_Columns.Count <= 0)
return -1;
string columnNames = "";//列名称集合
string columnValues = "";//值集合
foreach (string key in _Columns.Keys)
{
columnNames += key + ",";
columnValues += "@"+key + ",";
_Parameters.Add("@" + key, _Columns[key]==null?0: _Columns[key]);
}
string sql = string.Format(INSERT_SQL, _TableName, columnNames.TrimEnd(','), columnValues.TrimEnd(','));
return _DbHelper.Execute(sql, _Parameters);
}
}
public class Insert_T<T>
{
private DbHelper _DbHelper = null; //数据操作类
private string INSERT_SQL = @"INSERT INTO {0} ({1}) VALUES ({2})"; //新增语句
private string _TableName = string.Empty; //表名称
private string _PrimaryKey = string.Empty;
private T _Model;
/// <summary>
/// 参数
/// </summary>
private DynamicParameters _Parameters=new DynamicParameters();
public Insert_T(DbHelper dbHelper, string tableName,T model,string PrimaryKey)
{
_DbHelper = dbHelper;
_TableName = tableName;
_Model = model;
_PrimaryKey = PrimaryKey;
}
/// <summary>
/// 添加
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="model"></param>
/// <returns></returns>
private string InsertSQL(T model)
{
StringBuilder sbColumns = new StringBuilder();
StringBuilder sbValues = new StringBuilder();
PropertyInfo[] _PropertyInfos = model.GetType().GetProperties();
foreach (PropertyInfo _PropertyInfo in _PropertyInfos)
{
if (null != _PropertyInfo.GetValue(model, null))
{
if (_PropertyInfo.Name!=_PrimaryKey)
{
sbColumns.Append(_PropertyInfo.Name + ",");
sbValues.Append("@").Append(_PropertyInfo.Name).Append(",");
_Parameters.Add("@" + _PropertyInfo.Name, _PropertyInfo.GetValue(model));
}
}
}
if (sbColumns.Length > 0 && sbValues.Length > 0)
{
sbColumns.Remove(sbColumns.ToString().Length - 1, 1);
sbValues.Remove(sbValues.ToString().Length - 1, 1);
}
string strSql = string.Format(INSERT_SQL, _TableName, sbColumns.ToString(), sbValues.ToString());
return strSql;
}
/// <summary>
/// 执行插入操作
/// </summary>
/// <returns></returns>
public int Execute()
{
string sql = InsertSQL(_Model);
return _DbHelper.Execute(sql, _Parameters);
}
}
{
private DbHelper _DbHelper = null; //数据操作类
private string INSERT_SQL = @"INSERT INTO {0} ({1}) VALUES ({2})"; //新增语句
private string _TableName = string.Empty; //表名
private Hashtable _Columns = new Hashtable(); //列名称/值 的集合
private DynamicParameters _Parameters = new DynamicParameters(); //参数
/// <summary>
/// 初始化
/// </summary>
/// <param name="dbHelper">帮助类</param>
/// <param name="tableName">表名称</param>
public Insert(DbHelper dbHelper, string tableName)
{
_DbHelper = dbHelper;
_TableName = tableName;
}
/// <summary>
/// 初始化列名称/值 集合
/// </summary>
/// <param name="name">名称</param>
/// <param name="value">值</param>
/// <returns></returns>
public Insert Column(string name,object value)
{
_Columns.Add(name, value);
return this;
}
/// <summary>
/// 初始化列名称/值 集合
/// </summary>
/// <param name="columns">列名称/值 集合</param>
/// <returns></returns>
public Insert Column(Hashtable columns)
{
_Columns = columns;
return this;
}
/// <summary>
/// 执行插入操作
/// </summary>
/// <returns></returns>
public int Execute()
{
if (_Columns.Count <= 0)
return -1;
string columnNames = "";//列名称集合
string columnValues = "";//值集合
foreach (string key in _Columns.Keys)
{
columnNames += key + ",";
columnValues += "@"+key + ",";
_Parameters.Add("@" + key, _Columns[key]==null?0: _Columns[key]);
}
string sql = string.Format(INSERT_SQL, _TableName, columnNames.TrimEnd(','), columnValues.TrimEnd(','));
return _DbHelper.Execute(sql, _Parameters);
}
}
public class Insert_T<T>
{
private DbHelper _DbHelper = null; //数据操作类
private string INSERT_SQL = @"INSERT INTO {0} ({1}) VALUES ({2})"; //新增语句
private string _TableName = string.Empty; //表名称
private string _PrimaryKey = string.Empty;
private T _Model;
/// <summary>
/// 参数
/// </summary>
private DynamicParameters _Parameters=new DynamicParameters();
public Insert_T(DbHelper dbHelper, string tableName,T model,string PrimaryKey)
{
_DbHelper = dbHelper;
_TableName = tableName;
_Model = model;
_PrimaryKey = PrimaryKey;
}
/// <summary>
/// 添加
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="model"></param>
/// <returns></returns>
private string InsertSQL(T model)
{
StringBuilder sbColumns = new StringBuilder();
StringBuilder sbValues = new StringBuilder();
PropertyInfo[] _PropertyInfos = model.GetType().GetProperties();
foreach (PropertyInfo _PropertyInfo in _PropertyInfos)
{
if (null != _PropertyInfo.GetValue(model, null))
{
if (_PropertyInfo.Name!=_PrimaryKey)
{
sbColumns.Append(_PropertyInfo.Name + ",");
sbValues.Append("@").Append(_PropertyInfo.Name).Append(",");
_Parameters.Add("@" + _PropertyInfo.Name, _PropertyInfo.GetValue(model));
}
}
}
if (sbColumns.Length > 0 && sbValues.Length > 0)
{
sbColumns.Remove(sbColumns.ToString().Length - 1, 1);
sbValues.Remove(sbValues.ToString().Length - 1, 1);
}
string strSql = string.Format(INSERT_SQL, _TableName, sbColumns.ToString(), sbValues.ToString());
return strSql;
}
/// <summary>
/// 执行插入操作
/// </summary>
/// <returns></returns>
public int Execute()
{
string sql = InsertSQL(_Model);
return _DbHelper.Execute(sql, _Parameters);
}
}
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 如何在 Linux/Windows/MacOS 上使用 .NET 进行开发
- 如何在 Linux 中安装微软的 .NET Core SDK
- 星外ASP.Net的安全设置相关说明
- C#.NET获取拨号连接的宽带连接方法
- C#、ASP.NET通用扩展工具类之TypeParse
- C#.Net ArrayList的使用方法
- 实现ASP.NET无刷新下载并提示下载完成的开发思路
- PowerShell中使用.NET将程序集加入全局程序集缓存
- C#、ASP.NET通用扩展工具类之LogicSugar
- .net(c#)中的new关键字详细介绍
- 由vbs sort引发.NET Framework之间的关系说明
- C#难点逐个击破(6):C#数据类型与.net framework数据类型
- C#、ASP.NET通用工具类IsWhat?(可以判断数字、身份证、数据类型等等)
- 程序中常用的种代码
- .NET中的async和await关键字使用及Task异步调用实例
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- 基于.NET平台常用的框架和开源程序整理
- 在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程
- RabbitMQ入门与使用篇 推荐