精简的后台程序代码——Insert
来源:互联网 发布:五级网络啥时候上市 编辑:程序博客网 时间:2024/06/10 20:42
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);
}
}
0 0
- 精简的后台程序代码——Insert
- 精简的后台程序代码——DBHelper
- 精简的后台程序代码——Delete
- 精简的后台程序代码——Select
- 精简的后台程序代码——Sql
- 精简的后台程序代码——Update
- 自己写的几个练习代码——精简精简再精简
- Android学习——后台程序
- 一段精简的MFC代码
- 精简代码的技巧整理
- 精简自己20%的代码
- 精简的飘窗代码
- 快速幂的精简代码
- 精简自己20%的代码
- 后台程序去download一个网站的前台代码
- linux下运行后台程序——nohup
- 前台代码中显示后台程序
- 精简版—愤怒的小鸟
- 安卓系统经常遇到OOM问题,如何优化和应对?
- 二叉树相关面试题目总结
- NavigationBar的下方加上阴影
- 《PCL点云库学习&VS2010(X64)》Part 16 PCL1.72(VTK6.2.0)滤波例程(2)之双边滤波
- 使用Spring MVC拦截器实现日志记录
- 精简的后台程序代码——Insert
- JS处理时间
- CodeForces 131B Opposites Attract
- Makefile (二) 介绍
- 第二届移动互联网大会总结
- 源码-PL/SQL从入门到精通-第八章-记录与集合-Part 3
- 线性布局weight属性
- 【codevs 1225】八数码难题
- php入门基本概念