• 使用DataReader读取记录集 输出全部记录


    今天需要把DataReader中的数据一条条的读取出来,然后以XML的形式生成为Excel格式导出!

    使用DataReader读取的方法:

    代码如下:

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Data.SqlClient;
    public partial class DataReader : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
             string sConnectionString = @"server=AYANG\SQL2005;database=forum;Trusted_Connection=True";
             using (SqlConnection conn = new SqlConnection(sConnectionString))
             {
                 conn.Open();
                 using (SqlCommand cmd = new SqlCommand("Select * from tbClass;Select * from tbBoard", conn))
                 {
                     using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) //得到一个DataREeader
                     {
                         if (dr.HasRows) //记录集是否为空
                         {
                             do
                             {
                                 System.Text.StringBuilder htmlStr = new System.Text.StringBuilder(); //使用StringBuilder构造字符串效率比较高
                                 htmlStr.Append("<table border='1' cellPadding='5' cellSpacing='0' style='font-size:9pt; font:宋体'");//表格开始
                                 htmlStr.Append("<tr style='background-color='#F0F'>"); //表头开始
                                 for (int i = 1; i < dr.FieldCount; i++)
                                 {
                                     htmlStr.Append(string.Format("<td><b>{0}</b></td>", dr.GetName(i))); //构造表头
                                 }
                                 htmlStr.Append("</tr>");//表头开始
                                 while (dr.Read())
                                 {
                                     htmlStr.Append("<tr>");//记录开始
                                     for (int i = 0; i < dr.FieldCount; i++)
                                     {
                                         if (!dr.IsDBNull(i))
                                             htmlStr.Append(string.Format("<td>{0}</td>", dr.GetValue(i))); //构造记录行 
                                     }
                                     htmlStr.Append("</tr>");//表头开始
                                 }
                                 htmlStr.Append("</table><br>");//表头开始
                                 Response.Write(htmlStr);
                             }
                             while (dr.NextResult());
                         }
                     }
                 }
    
             }
    
        }
    }
     
    以上只是一个简单的例子,可以根据自己的需求来更改实现的功能~比如提取数据生成XML然后生成Excel
  • 相关阅读:
    toolbar: '#tbSuppliers', 在上面, toolbar: 'tbSuppliers',在下面
    .net出现80080005错误的解决办法
    The expression of type List needs unchecked conversion to conform to
    我天性不宜交际
    一些资料
    $.connection.hub.start().done(function () { alert('signalR started'); }).fail
    使用 Web Notifications
    JS获取几种URL地址的方法
    随机生成汉字、字母、数字的方法
    linq剔除重复项
  • 原文地址:https://www.cnblogs.com/dupeng0811/p/1735721.html
Copyright © 2020-2023  润新知