前:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataReader对象.aspx.cs" Inherits="WebApplication1.DataReader对象" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="" cellpadding="" cellspacing="">
<tr><td>编号</td><td>账号</td><td>真实姓名</td><td>年龄</td><td>
性别</td><td>手机</td><td>电话</td><td>电子邮件</td></tr>
<%
ShowData(); %>
</table>
</div>
</form>
</body>
</html>

后台Cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data; namespace WebApplication1
{
public partial class DataReader对象 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
public void ShowData()
{
SqlConnection conn = new SqlConnection(@"server=Rose-PC\SQLEXPRESS;Database=User;User Id=sa;password=");
SqlCommand command =new SqlCommand("Select * from UserInfo where Sex=1",conn);
conn.Open();
//得到DataReader的实例 注意:使用CommandBehavior这个参数
//以便同时关闭Connection
SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
//如果当前记录还有下一条记录,则循环不会终止
while (reader.Read())
{
//按着列顺序和对应类型直接读取值
Response.Write("<tr><td>" + reader.GetInt32() + "</td>");
Response.Write("<td>" + reader.GetString() + "</td>");
Response.Write("<td>" + reader.GetString() + "</td>");
Response.Write("<td>" + reader.GetByte() + "</td>");
//下面是按着列顺序直接读取值,并且根据值来判断最终显示结果
Response.Write("<td>" + (reader.GetBoolean()==true?"男":"女" )+ "</td>");
//按着列顺序读取,列的值需要做相应的转换
Response.Write("<td>" + reader[].ToString() + "</td>");
Response.Write("<td>" + reader["Phone"] + "</td>");
Response.Write("<td>" + reader["Email"].ToString() + "</td></tr>\n"); }
reader.Close();
}
}
}

显示的图片:

DataReader的例子的更多相关文章

  1. DataReader

    Datareader对象不能关使用new关键字创建.但可以使用ExecuteReader()方法创建. DataReader是一行一行的读取记录的.当记录中有数据时Read()返回TRUE,当到记录集 ...

  2. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  3. C#与数据库访问技术总结(十二)数据阅读器(DataReader)2

    遍历数据阅读器中的记录 当ExecuteReader方法返回DataReader对象时,当前光标的位置在第一条记录的前面. 必须调用阅读器的Read方法把光标移动到第一条记录,然后,第一条记录将变成当 ...

  4. vb.net三层实现登录例子

    看三层已经很长时间了,中间有经过了期末考试.回家等等琐事,寒假开学的我已经回想不起什么事三层了,经过了三四天的重新复习,再加上查看各期师哥师姐的博客,终于,自己完成了C#视频中的登录小例子,下面就和大 ...

  5. C#调用SSIS包及读取DataReader目标

    C#调用SSIS包需要引用两个DLL .(具体位置在C盘搜索,MSDN和百度提供的路径都不太正确) Microsoft.SQLServer.ManagedDTS.dll Microsoft.SqlSe ...

  6. DataReader反射泛型对象

    昨天听同学说,要把DataReader对象转成实体对象,要写一个通用的方法.想了下用反射应该可以做到.项目中一般都是用第三方组件来做数据访问层,如,Nhibernate.ef等.于是自己想写个简单例子 ...

  7. C# 读取 Access 数据库表的例子

    using System;using System.Data;using System.Data.OleDb;using System.Collections.Generic;using System ...

  8. c#操作SQL的例子

    >> 数据表复制 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库..表 当目标表不存在时: select * into 目的数据库..表 ...

  9. C#对SQL数据库操作类简介:Connection、Command、DataReader、DataSet、DataAdapter

    在说C#操作数据库之前需要先说下ADO.NET.ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据.之所以使 ...

随机推荐

  1. 【iOS-Android开发对照】之 数据存储

    [iOS-Android开发对照]之 数据存储 写在前面的话 相比Android和iOS,我认为Android的数据存储更开放一些.Android天生就能够使用多Java I/O:并且天生开放的特性, ...

  2. linux多线程示例

    #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <pthread.h& ...

  3. Jquery的一些取值

    //获取当前节点的html代码(包括当前节点),prop用于获取与设置Html元素的原生属性 $("#tmpMsgObj").prop("outerHTML") ...

  4. SQL Server 数据控制语句(DCL)

    DCL控制语句用来设置更改用户或角色的权限. 授予权限操作——GRANTSQL Server服务器通过手语权限表来控制用户对数据库的访问.在数据库中添加一个新用户之后,若不尽兴额外操作,该用户只有ch ...

  5. sql 月初和月末

    --月初 select  convert(varchar(10),dateadd(day,-(day(getdate()) -1),getdate()) ,120) --月末select  conve ...

  6. iOS:ABPeoplePickerNavigationController系统通讯录使用

    昨天因项目需求要访问系统通讯录获取电话号码,于是乎从一无所知,开始倒腾,倒腾了一下午,总算了弄好了.写这边博客是为了记录一下,自己下一次弄的时候就别在出错了.同时,有和我一样的菜鸟能够避免走一下弯路. ...

  7. POJ 3630 Phone List(trie树的简单应用)

    题目链接:http://poj.org/problem?id=3630 题意:给你多个字符串,如果其中任意两个字符串满足一个是另一个的前缀,那么输出NO,否则输出YES 思路:简单的trie树应用,插 ...

  8. python列表类型中的陷阱

    在python中对列表使用重复运算符*进行操作时,只是简单的进行了浅复制,内部的结构并没有复制过来,所以下面的例子结果是这样的: >>> lists =[[]]*3 >> ...

  9. codeforces 622C. Optimal Number Permutation 构造

    题目链接 假设始终可以找到一种状态使得值为0, 那么两个1之间需要隔n-2个数, 两个2之间需要隔n-3个数, 两个3之间隔n-4个数. 我们发现两个三可以放到两个1之间, 同理两个5放到两个3之间. ...

  10. poj 3273 Monthly Expence 简单二分

    /** 大意: 有连续的n天,每一天有一定的花费,将其分成m份,每一份占一天或者连续的几天,求这m份中的最大值 思路: 二分其最大上限,看在此最大上线,能分成多少份,若大于m份,说明上限过小,需要扩大 ...