使用反射自动添加sql参数
来源:互联网 发布:航海家软件骗局 编辑:程序博客网 时间:2024/04/30 18:58
2.在model文件夹下新建类ColumnAttribute.cs文件private string _DIVISION_NAME_CHI;
/// <summary>
/// 处
/// </summary>
[Column(Name = "DIVISION_NAME_CHI")]
public string DIVISION_NAME_CHI
{
get { return _DIVISION_NAME_CHI; }
set { _DIVISION_NAME_CHI = value; }
}
private string _BU_NAME_CHI;
/// <summary>
/// 部门
/// </summary>
[Column(Name = "BU_NAME_CHI")]
public string BU_NAME_CHI
{
get { return _BU_NAME_CHI; }
set { _BU_NAME_CHI = value; }
}
private string _EMPLOYEEID;
/// <summary>
/// 工号
/// </summary>
[Column(Name = "EMPLOYEEID")]
public string EMPLOYEEID
{
get { return _EMPLOYEEID; }
set { _EMPLOYEEID = value; }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Model
{
public class ColumnAttribute : Attribute
{
private string _Name;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
}
}
4.在TestDAL.cs引入命名空间using System.Reflection;#region 构造sql参数集
/// <summary>
/// 构造sql参数集
/// </summary>
/// <param name="myDishInfo">测试model</param>
/// <returns></returns>
public static List<SqlParameter> GetSqlParametersList(ref TestModel myBJTableInfo)
{
Type type = myBJTableInfo.GetType();
PropertyInfo[] propertyInfos = type.GetProperties();
List<SqlParameter> sqlparameterList = new List<SqlParameter>();
if (propertyInfos != null && propertyInfos.Length > 0)
{
foreach (PropertyInfo info in propertyInfos)
{
object[] columns = info.GetCustomAttributes(typeof(ColumnAttribute), true);
if (columns != null && columns.Length > 0)
{
ColumnAttribute ca = columns[0] as ColumnAttribute;
string name = "@" + ca.Name;
SqlParameter para = new SqlParameter(name, info.GetValue(myBJTableInfo, null));
sqlparameterList.Add(para);
}
}
}
return sqlparameterList;
}
#endregion
6.缺点是无论是只需要其中的一个参数还是几个参数都会全部加载进去List<SqlParameter> ilistStr = new List<SqlParameter>();ilistStr = GetSqlParametersList(ref model);SqlParameter[] paras = ilistStr.ToArray();
- 使用反射自动添加sql参数
- PHP通过反射实现自动注入参数
- Mybatis使用拦截器自动分页实现/使用反射替换sql代码分页
- (ThreadLocal版本)Mybatis使用拦截器自动分页实现/使用反射替换sql代码分页
- 使用反射动态添加webservice
- 怎样给sql数据库的一个表格添加一列自动加一的列。设置 SQL 参数的值
- 加强eclipse的使用技巧。可变参数。基本数据类型自动装箱和拆箱。枚举。反射。数组反射的应用。ArrayList和HashSet。JavaBean
- php使用反射类自动注入
- 《黑马程序员》反射 数组参数的自动拆箱
- 【PB】使用参数指定的SQL语句向指定的下拉列表框中添加数据
- SQL Server中使用表类型参数批量添加和修改的存储过程
- 使用反射前后的参数化工厂方法
- 使用反射来实现参数绑定
- 使用反射设置枚举类型的参数
- 如何自动添加、删除ODBC(SQL)
- 通过SQL自动添加流水号
- Sql 实现自动添加行数标记
- mybatis中sql语句参数添加判断
- ASP.NET支持多语言
- 将一个数据库表的数据复制到另一个数据库表
- Lesson 5 Nehe
- SQL Server 批量插入数据的两种方法
- sp_executesql介绍和使用
- 使用反射自动添加sql参数
- 当进行数据量大的更新时显示正在更新的动画
- Java IO Overview
- SQL SERVER SA密码忘记,windows集成身份验证都登录不了不怎么办
- NPOI2.0操作导出excel
- async and await 简单的入门
- C#发送带附件的邮件
- 洛谷 1073
- 使用C#开发Metro 风格应用的路线图 -- 在页面间导航、传值