///



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

///

///

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

public DotNet.Model.Base_Department GetModelUseDR(long Id)

{

		StringBuilder strSql=new StringBuilder();
strSql.Append("Select Top 1 Id,DepartmentName,NetCount,Remarks,CreatedOn,IsPublic,IsLock,SavedOn,LockVersion,Operator_Id From Base_Department ");
strSql.Append(" Where Id=@Id ");
SqlParameter[] parameters = {
new SqlParameter("@Id", SqlDbType.BigInt,8)};
parameters[0].Value = Id;
DotNet.Model.Base_Department model=new DotNet.Model.Base_Department();
SqlDataReader reader = DbHelperSQL.ExecuteReader(strSql.ToString(),parameters);
if(reader.Read())
{
model.Id = reader.GetInt64(reader.GetOrdinal("Id"));
model.DepartmentName = reader.GetString(reader.GetOrdinal("DepartmentName"));
model.NetCount = reader.GetInt32(reader.GetOrdinal("NetCount"));
model.Remarks = reader.GetString(reader.GetOrdinal("Remarks"));
model.CreatedOn = reader.GetDateTime(reader.GetOrdinal("CreatedOn"));
model.IsPublic = reader.GetBoolean(reader.GetOrdinal("IsPublic"));
model.IsLock = reader.GetBoolean(reader.GetOrdinal("IsLock"));
model.SavedOn = reader.GetDateTime(reader.GetOrdinal("SavedOn"));
model.LockVersion = reader.GetInt32(reader.GetOrdinal("LockVersion"));
model.Operator_Id = reader.GetInt64(reader.GetOrdinal("Operator_Id"));
reader.Close();
return model;
}
else
{
reader.Close();
return null;
}
} /// <summary>
/// 获得数据列表List<>,DataReader 使用参数的
/// </summary>
/// <param name="strWhere">条件</param>
/// <param name="ht">HashTable,保存参数名及参数对应的值</param>
/// <returns>List<DotNet.Model.Base_Department></returns>
/// 使用方法:string str = "id=@id";Hashtable ht = new Hashtable();ht.Add("@id", 10);
public List<DotNet.Model.Base_Department> GetListUseDataReader(string strWhere, Hashtable ht=null)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("Select Id,DepartmentName,NetCount,Remarks,CreatedOn,IsPublic,IsLock,SavedOn,LockVersion,Operator_Id from Base_Department");
if(strWhere.Trim().Length!=0)
{
strSql.Append(" Where " + strWhere.Trim());
}
//获取DataReader
SqlDataReader reader; //组织参数
if (ht != null && ht.Count > 0)
{
SqlParameter[] parameters = new SqlParameter[ht.Count];
int i = 0;
foreach (DictionaryEntry dc in ht)
{
parameters[i] = new SqlParameter() ;
parameters[i].ParameterName = dc.Key.ToString();
parameters[i].Value = dc.Value;
i++;
}
reader = DbHelperSQL.ExecuteReader(strSql.ToString(), parameters);
}
else
reader = DbHelperSQL.ExecuteReader(strSql.ToString());
if (reader.HasRows)
{
List<DotNet.Model.Base_Department> list = new List<DotNet.Model.Base_Department>();
while (reader.Read())
{
DotNet.Model.Base_Department model = new DotNet.Model.Base_Department();
model.Id = reader.GetInt64(reader.GetOrdinal("Id"));
model.DepartmentName = reader.GetString(reader.GetOrdinal("DepartmentName"));
model.NetCount = reader.GetInt32(reader.GetOrdinal("NetCount"));
model.Remarks = reader.GetString(reader.GetOrdinal("Remarks"));
model.CreatedOn = reader.GetDateTime(reader.GetOrdinal("CreatedOn"));
model.IsPublic = reader.GetBoolean(reader.GetOrdinal("IsPublic"));
model.IsLock = reader.GetBoolean(reader.GetOrdinal("IsLock"));
model.SavedOn = reader.GetDateTime(reader.GetOrdinal("SavedOn"));
model.LockVersion = reader.GetInt32(reader.GetOrdinal("LockVersion"));
model.Operator_Id = reader.GetInt64(reader.GetOrdinal("Operator_Id"));
list.Add(model);
}
reader.Close();
return list;
}
else
{
reader.Close();
return null;
}
}

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. 【ccf2017-12-2】游戏(模拟)

    问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向. 游戏开始,从1号小朋 ...

  2. 前端 velocity(.vm)模板里写ajax出现解析异常

    异常信息:Caused by: org.apache.velocity.exception.ParseErrorException: Encountered "{" at dist ...

  3. New Concept English three (43)

    30 54 Insurance companies are normally willing to insure anything. Insuring public or private proper ...

  4. Creating a Game with CocosBuilder

    Creating a Game with CocosBuilder This tutorial aims to show how you can use CocosBuilder together w ...

  5. GitLab non-standard SSH port

    /***************************************************************************** * GitLab non-standard ...

  6. LeetCode Max Stack

    原题链接在这里:https://leetcode.com/problems/max-stack/description/ 题目: Design a max stack that supports pu ...

  7. sqlalchemy的基本的使用

    参考链接:http://www.techweb.com.cn/network/system/2016-10-11/2407638.shtml http://www.cnblogs.com/renfan ...

  8. 十八、python沉淀之路--生成器

    一.生成器 生成器总结:语法上和函数类似:生成器函数和常规函数几乎是一样的.他们都是使用def语句进行定义,差别在于生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值.自动实 ...

  9. TIME_WAIT过多及解决

         最近用http_load做压测,跑出来一大串“Cannot assign requested address ”的错误,查了一下,是TIME_WAIT过多导致的.因为短时间内有太多连接,所以 ...

  10. JAMstack 最佳实践

    摘自官方介绍,没有翻译(没必要,已经比较简单了,重要的就是进行每条的诠释了,后续...) Entire Project on a CDN Because JAMstack projects don’t ...