///



/// 得到一个对象实体 DataReader方式

///

///

/// 成功返回对象模型,失败返回null

public DotNet.Model.Base_Department GetModelUseDR(long Id)

{

  1. StringBuilder strSql=new StringBuilder();
  2. strSql.Append("Select Top 1 Id,DepartmentName,NetCount,Remarks,CreatedOn,IsPublic,IsLock,SavedOn,LockVersion,Operator_Id From Base_Department ");
  3. strSql.Append(" Where Id=@Id ");
  4. SqlParameter[] parameters = {
  5. new SqlParameter("@Id", SqlDbType.BigInt,8)};
  6. parameters[0].Value = Id;
  7. DotNet.Model.Base_Department model=new DotNet.Model.Base_Department();
  8. SqlDataReader reader = DbHelperSQL.ExecuteReader(strSql.ToString(),parameters);
  9. if(reader.Read())
  10. {
  11. model.Id = reader.GetInt64(reader.GetOrdinal("Id"));
  12. model.DepartmentName = reader.GetString(reader.GetOrdinal("DepartmentName"));
  13. model.NetCount = reader.GetInt32(reader.GetOrdinal("NetCount"));
  14. model.Remarks = reader.GetString(reader.GetOrdinal("Remarks"));
  15. model.CreatedOn = reader.GetDateTime(reader.GetOrdinal("CreatedOn"));
  16. model.IsPublic = reader.GetBoolean(reader.GetOrdinal("IsPublic"));
  17. model.IsLock = reader.GetBoolean(reader.GetOrdinal("IsLock"));
  18. model.SavedOn = reader.GetDateTime(reader.GetOrdinal("SavedOn"));
  19. model.LockVersion = reader.GetInt32(reader.GetOrdinal("LockVersion"));
  20. model.Operator_Id = reader.GetInt64(reader.GetOrdinal("Operator_Id"));
  21. reader.Close();
  22. return model;
  23. }
  24. else
  25. {
  26. reader.Close();
  27. return null;
  28. }
  29. }
  30. /// <summary>
  31. /// 获得数据列表List<>,DataReader 使用参数的
  32. /// </summary>
  33. /// <param name="strWhere">条件</param>
  34. /// <param name="ht">HashTable,保存参数名及参数对应的值</param>
  35. /// <returns>List<DotNet.Model.Base_Department></returns>
  36. /// 使用方法:string str = "id=@id";Hashtable ht = new Hashtable();ht.Add("@id", 10);
  37. public List<DotNet.Model.Base_Department> GetListUseDataReader(string strWhere, Hashtable ht=null)
  38. {
  39. StringBuilder strSql = new StringBuilder();
  40. strSql.Append("Select Id,DepartmentName,NetCount,Remarks,CreatedOn,IsPublic,IsLock,SavedOn,LockVersion,Operator_Id from Base_Department");
  41. if(strWhere.Trim().Length!=0)
  42. {
  43. strSql.Append(" Where " + strWhere.Trim());
  44. }
  45. //获取DataReader
  46. SqlDataReader reader;
  47. //组织参数
  48. if (ht != null && ht.Count > 0)
  49. {
  50. SqlParameter[] parameters = new SqlParameter[ht.Count];
  51. int i = 0;
  52. foreach (DictionaryEntry dc in ht)
  53. {
  54. parameters[i] = new SqlParameter() ;
  55. parameters[i].ParameterName = dc.Key.ToString();
  56. parameters[i].Value = dc.Value;
  57. i++;
  58. }
  59. reader = DbHelperSQL.ExecuteReader(strSql.ToString(), parameters);
  60. }
  61. else
  62. reader = DbHelperSQL.ExecuteReader(strSql.ToString());
  63. if (reader.HasRows)
  64. {
  65. List<DotNet.Model.Base_Department> list = new List<DotNet.Model.Base_Department>();
  66. while (reader.Read())
  67. {
  68. DotNet.Model.Base_Department model = new DotNet.Model.Base_Department();
  69. model.Id = reader.GetInt64(reader.GetOrdinal("Id"));
  70. model.DepartmentName = reader.GetString(reader.GetOrdinal("DepartmentName"));
  71. model.NetCount = reader.GetInt32(reader.GetOrdinal("NetCount"));
  72. model.Remarks = reader.GetString(reader.GetOrdinal("Remarks"));
  73. model.CreatedOn = reader.GetDateTime(reader.GetOrdinal("CreatedOn"));
  74. model.IsPublic = reader.GetBoolean(reader.GetOrdinal("IsPublic"));
  75. model.IsLock = reader.GetBoolean(reader.GetOrdinal("IsLock"));
  76. model.SavedOn = reader.GetDateTime(reader.GetOrdinal("SavedOn"));
  77. model.LockVersion = reader.GetInt32(reader.GetOrdinal("LockVersion"));
  78. model.Operator_Id = reader.GetInt64(reader.GetOrdinal("Operator_Id"));
  79. list.Add(model);
  80. }
  81. reader.Close();
  82. return list;
  83. }
  84. else
  85. {
  86. reader.Close();
  87. return null;
  88. }
  89. }

DataReader方式 获取数据的更多相关文章

  1. DataReader方式 获取数据的操作

    一.使用DataReader读取为对象List /// <summary> /// 获得数据列表List<>,DataReader 使用参数的 /// </summary ...

  2. 关于 ThinkPHP5 使用 getBy 字段名方式获取数据

    关于 ThinkPHP5 使用 getBy 字段名方式获取数据 有小伙半说怎么全文搜索都没有搜索到 getByName 之类的函数. 其实是在这里.

  3. ie浏览器下get方式获取数据无效问题

    在ie浏览器用get方式获取数据时因为发送得到参数地址都是一样的,所以浏览器会优先从缓存获取数据,而不去服务器请求数据,post由于参数不同所以不会影响. 解决方法: 1.  Internet选项-- ...

  4. JAVA通过HTTP方式获取数据

    测试获取免费天气数据接口:http://www.weather.com.cn/data/sk/101190408.html URL数据如下图: 代码部分: package https; import ...

  5. Qt.网络开发-通过http的get方式获取数据

    Qt 是一个跨平台的 C++图形用户界面库,由挪威 TrollTech 公司于1995年底出品. 它是个跨平台的C++图形开发平台 我们在这章中可以学习简单的网络数据获取并显示的内容 本文基于Qt C ...

  6. Hibernate 以流的方式获取数据

    hibernateQuery.setFetchSize(Integer.MIN_VALUE); results = hibernateQuery.scroll(ScrollMode.FORWARD_O ...

  7. 8 Hbase get方式获取数据

    package com.hikvision.hbase.vertify.test; import org.apache.hadoop.conf.Configuration; import org.ap ...

  8. Request三种获取数据的方式

    今天在做ajax请求后台代码时,发现ajax的方法都对,但就是请求不了后台代码,后来在同事帮助下才发现前台定义了两个相同参数导致请求出错. 下面记录一下request三种获取数据的方式: 1. Req ...

  9. PDO获取数据的方法fetch()、fetchAll()、setFetchMode()、bindColumn()

    PDO的数据获取方法与其他数据库扩展都非常类似,只要成功执行SELECT查询,都会有结果集对象产生.不管是使用PDO对象中的query()方法,还是使用prepare()和execute()等方法结合 ...

随机推荐

  1. Agilent RF fundamentals (8) Oscillator Decisions

          ----------------------

  2. C#实现文件与二进制互转并存入数据库

    这篇文章主要介绍了C#实现文件与二进制互转并存入数据库,本文直接给出代码实例,代码中包含详细注释,需要的朋友可以参考下 //这个方法是浏览文件对象     private void button1_C ...

  3. java事务(三)——自己实现分布式事务

    在上一篇<java事务(二)——本地事务>中已经提到了事务的类型,并对本地事务做了说明.而分布式事务是跨越多个数据源来对数据来进行访问和更新,在JAVA中是使用JTA(Java Trans ...

  4. Leetcode 938. Range Sum of BST

    import functools # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, ...

  5. 修改maven仓库位置

    在eclipse中安装好maven2的插件后: 第一步: 默认会放在~/.m2/repository目录下 (“~”代表用户的目录,比如windows7下一般都是C:\Users\zz\.m2\rep ...

  6. Go标准容器之List

    简介Go的标准包container中包含了常用的容器类型,包括conatiner/list,container/heap,container/ring.本篇介绍conatiner/list. cona ...

  7. (效果一)js实现上拉加载

    实现思路:获取滚动元素的高度,滚动条距离顶部的距离,滚动条的高度, 算式:可视窗口的高度 + 滚动条距离顶部的距离 == 滚动条的高度就说明到底部. HTML <!doctype html> ...

  8. Django实现微信公众号简单自动回复

    在上篇博客阿里云部署django实现公网访问已经实现了了django在阿里云上的部署,接下来记录django实现微信公众号简单回复的开发过程,以方便日后查看 内容概要: (1)微信公众号声请 (2)微 ...

  9. tab显示不同数据

    效果 核心代码 [js] [#escape x as (x)!?html]<!doctype html><html lang="zh-CN"><hea ...

  10. PS基础教程[2]渐变工具的使用

    PS中的渐变是一个很实用的工具,很多时候都会用到,我们在网页上看到的各种各样的颜色几乎都是一种渐变色,很少有一种颜色一层不变的.那么渐变如何使用呢?本次我们来介绍一下渐变的基本使用方法. 使用方法 1 ...