在这个例子当中,泛型的出色之处在于,不必为每个类型编写相同的代码讲阅读器的数据转换为泛型List。

1.GenericMethods类

public class GenericMethods
{
public static List<T> GetListFromCommand<T>(SqlCommand command)
where T : ICreatable, new()
{
List<T> list = new List<T>();
using (command.Connection)
{
command.Connection.Open();
SqlDataReader dr = command.ExecuteReader();
while (dr.Read())
{
T t = new T();
t.Create(dr);
list.Add(t);
}
}
return list;
}
}

2.Movie实体类

public class Movie : ICreatable
{

public int ID { get; set; }

public string Name { get; set; }

public void Create(SqlDataReader dr)
{
ID = int.Parse(dr["ID"].ToString());
Name = dr["Name"].ToString();
}
}

3.ICreatable接口

public interface ICreatable
{
void Create(SqlDataReader dr);
}

4.页面方法调用

string constring = WebConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString;
SqlConnection conn = new SqlConnection(constring);
SqlCommand command = new SqlCommand("SELECT * FROM Movies", conn);
List<Movie> list = GenericMethods.GetListFromCommand<Movie>(command);

转载于:https://www.cnblogs.com/Scarface/archive/2011/05/09/2040755.html

使用泛型查询数据小例相关推荐

  1. MySQL——复杂的多表查询——以超市交易数据为例

    复杂的多表查询--以超市交易数据为例 之前的内容基本上都是基于单表进行的查询操作,但是在实际工作中,数据往往分散在多个表中,这个时候我们就需要用到多表查询的知识了. 通常来说,多表查询主要有两类:一类 ...

  2. 小汤学编程之MySQL(二)——数据库操作、表结构操作、表数据操作、查询数据和数据类型

    一.数据库操作 1.创建数据库     2.查询数据库     3.修改数据库     4.使用数据库 二.表结构操作 1.创建表     2.查询表     3.修改表     4.删除表 三.表数 ...

  3. uniapp做微信小程序搜索查询数据

    Vue uniapp语法 在后端还没写好查询接口的时候 为了实现前端的搜索效果 可以前端实现数组的遍历查询 或者面试的时候要求前端写一个demo =====>针对前端小白的教程 干净利索 原图: ...

  4. 数据库实验三 SQL查询数据

    实验三 SQL查询数据 实验目的 熟练掌握使用SQL查询语言.完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询). 实验内容 现有一个单位内部的小型图书借阅系统,假设每本图书的数量无限制,并且 ...

  5. 博图WINCC报表(SQL数据库的建立,TIA_wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置)

    这里写目录标题 目录 一.概述 1.1 前言 1.2 主要功能 1.3 使用的软件 二. SQL server建库和建表 2.1.SQL server建库 2.2SQL server建表 三.建立wi ...

  6. MySQL 8——学习笔记03(插入、更新、删除 数据 [DML语句]、查询数据 [DQL语句])

    MySQL 8--学习笔记03(插入.更新.删除 数据 [DML语句]) 一.插入数据 1.1 插入所有字段.插入部分字段 1.2 同时插入多条记录(批量插入) 1.3 将查询结果插入到表中 二.更新 ...

  7. 查询数据 抓取 网站数据_有了数据,我就学会了如何在几个小时内抓取网站,您也可以...

    查询数据 抓取 网站数据 I had a shameful secret. It is one that affects a surprising number of people in the da ...

  8. 如何查询数据表中指定字段的内容?

    @R星校长 查询数据表中指定字段的内容 MySQL从数据表中查询数据的基本语句为SELECT语句. SELECT语句的可选参数比较多,让我们先从最简单的开始,带大家一步一步的深入SELECT语句的使用 ...

  9. python数据存储和查询代码_【Python分享】如何便捷地存储、查询数据

    前言在之前的文章(如下)中,分享了爬取天天基金.中债指数的代码.爬取的数据很多,如何方便地存储.查询,也是一个麻烦的问题.本文分享一下我实现的基于 lsm-db 的本地文件数据存储.查询模块. 分享天 ...

最新文章

  1. java文件锁定_如何使用java锁定文件(如果可能的话)
  2. Android音量控制曲线
  3. Exception in thread “main“ java.lang.IllegalArgumentException: http://www.dmg.org/PMML-4_4(没搞定)
  4. 你知道长颈鹿是怎么睡觉的吗? | 今日趣图
  5. malloc和free
  6. python流程控制几种_python基础流程控制与数据类型
  7. Oracle的order by的中文排序问题
  8. java为什么序列化_什么是Java序列化、为什么要序列化、JAVA序列化有哪些方式(性能由低至高)...
  9. 新闻管理系统——系统管理员模块(一)
  10. Citrix XenAPP DS角色
  11. 计算机一级考试评分规则标准,CAD考试规则评分标准
  12. C# | 批量将CAD图幅网格外扩生成新图框(附源代码下载)
  13. 软件开发工程师证书有用吗_关于软件工程师职业证书你知道多少?
  14. 文件删不掉需要管理员权限?分享解决方法
  15. ConcurrentHashMap的put方法
  16. c语言的源程序一行可以书写多个语句,C语言 选择题(最全版)
  17. stm32芯片休眠模式_STM32睡眠模式低功耗(停止模式)
  18. 仿射变换affine和透视变换
  19. Effective Java---No.7 避免使用终结方法(稀里糊涂)
  20. Android 用HorizontalScrollView实现ListView的Item滑动删除

热门文章

  1. 采用的php cms分校站点 打开特别慢,phpcms v9 打开网站特别慢 增加数据库缓存方法...
  2. 服务器损坏文件怎么办,服务器文件系统损坏的处理
  3. python xml解析dom_如何解析python中表示xml.dom.minidom节点的字符串?
  4. 单体预聚合的目的是什么_聚合物在加工过程中降解可能性分析与预防
  5. Android自带的emoji表情的使用
  6. linux根据服务用YUM查询是由那些软件包安装
  7. 每次启动“Everything“需要管理员权限来索引NTFS卷.
  8. mysql 的select语句_MYSQL SELECT语句新手
  9. sql查询时间大于某一时间_查询时间从24分钟到2秒钟:记一次神奇的SQL优化
  10. dr. unarchiver_P160 四季可穿,数仙女尽折腰!醉高版本Dr马丁靴女2020秋冬新款牛筋底1460英伦风8孔系带复古机车军靴真皮短靴马丁靴...