遍历Dataset并输出数据实例
转自:http://www.cnblogs.com/csdm/archive/2010/02/02/1661808.html
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Dataset.aspx.cs" Inherits="Dataset" %>
<!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>遍历Dataset并输出数据</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
CS:
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 Dataset : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//先来建立数据库
DataSet Forum = new DataSet("Forum");
//再来建立两个数据表
DataTable tbClass = new DataTable("tbClass");
DataTable tbBoard = new DataTable("tbBoard");
//把两个数据表加入数据库
Forum.Tables.Add(tbClass);
Forum.Tables.Add(tbBoard);
//建立tbClass两列
DataColumn ClassID = new DataColumn("ClassID", typeof(System.String));
DataColumn ClassName = new DataColumn("ClassName", typeof(System.String));
//设定ClassID列不允许为空
ClassID.AllowDBNull = false;
//把列加入tbClass表
tbClass.Columns.Add(ClassID);
tbClass.Columns.Add(ClassName);
//设定tdClass表的主键
tbClass.PrimaryKey = new DataColumn[] { ClassID };
//建立tbBoard的三列
DataColumn BoardID = new DataColumn("BoardID", typeof(System.String));
DataColumn BoardName = new DataColumn("BoardName", typeof(System.String));
DataColumn BoardClassID = new DataColumn("BoardClassID", typeof(System.String));
//设定BoardID列不允许为空
BoardID.AllowDBNull = false;
//把列加入tbBoard表
tbBoard.Columns.Add(BoardID);
tbBoard.Columns.Add(BoardName);
tbBoard.Columns.Add(BoardClassID);
//设定tbBoard表的主键
tbBoard.PrimaryKey = new DataColumn[] { BoardID };
// 为两个表各加入5条记录
for (int i = 1; i <= 5; i++)
{
//实例化tbClass表的行
DataRow tbClassRow = tbClass.NewRow();
//为行中每一列赋值
tbClassRow["ClassID"] = Guid.NewGuid();
tbClassRow["ClassName"] = string.Format("分类{0}", 1);
//把行加入tbClass表
tbClass.Rows.Add(tbClassRow);
//实例化tbBoard表的行
DataRow tbBoardRow = tbBoard.NewRow();
//为行中每一列赋值
tbBoardRow["BoardID"] = Guid.NewGuid();
tbBoardRow["BoardName"] = string.Format("版块{0}", i);
tbBoardRow["BoardclassID"] = tbClassRow["ClassID"];
//把行加入tbBoard表
tbBoard.Rows.Add(tbBoardRow);
}
//DataRow tbClassRow = tbClass.NewRow();
//for (int i = 1; i <= 5; i++)
//{
// tbClassRow["ClassID"] = Guid.NewGuid();
// tbClassRow["ClassName"] = string.Format("分类{0}", i);
// tbClass.Rows.Add(tbClassRow);
//}
//构建输出字符串
System.Text.StringBuilder htmlStr = new System.Text.StringBuilder();
//遍历Forum中的所有表(使用foreach)遍历
foreach (DataTable dt in Forum.Tables)
{
//表开始
htmlStr.Append("<table border='1' cellspacing='0' cellPadding='5' style='font-size:9pt;font:宋体'>");
//表头开始
htmlStr.Append("<tr style='backgound-color:#F0F0F0'>");
//遍历表中所有列(使用for遍历)
for (int i = 0; i < dt.Columns.Count; i++)
{
htmlStr.Append(string.Format("<td><strong>{0}</strong></td>", dt.Columns[i].ColumnName));
}
//表头结束
htmlStr.Append("</tr>");
//遍历表中所有行
for (int i = 0; i < dt.Rows.Count; i++)
{
//数据行开始
htmlStr.Append("<tr>");
//遍历行中列
for (int j = 0; j < dt.Columns.Count; j++)
{
if (!dt.Rows[i].IsNull(j))
htmlStr.Append(string.Format("<td>{0}</td>", dt.Rows[i][j]));
}
//数据行结束
htmlStr.Append("</tr>");
}
//表结束
htmlStr.Append("</table><br>");
}
Response.Write(htmlStr);
}
}
遍历Dataset并输出数据实例的更多相关文章
- C# 手动编写 DataSet,DataTable 及遍历DataSet中的数据
一.手动编写DataSet: 有时候不想从数据库导出 DataSet,或者有其他的需要,要将数据库里的DataSet包装成另一个样子,这个时候,了解DataSet的内部结构就非常必要.DataS ...
- Java学习笔记:基本输入、输出数据操作实例分析
Java学习笔记:基本输入.输出数据操作.分享给大家供大家参考,具体如下: 相关内容: 输出数据: print println printf 输入数据: Scanner 输出数据: JAVA中在屏幕中 ...
- 遍历DataSet
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...
- [C#] 常用工具类——直接在浏览器输出数据
/// <summary> /// <para> </para> /// 常用工具类——直接在浏览器输出数据 /// <para> ---------- ...
- 你好,C++(5)如何输出数据到屏幕、从屏幕输入数据与读写文件?
2.2 基本输入/输出流 听过HelloWorld.exe的自我介绍之后,大家已经知道了一个C++程序的任务就是描述数据和处理数据.这两大任务的对象都是数据,可现在的问题是,数据不可能无中生有地产生 ...
- Ajax应用-Ajax传输JSON数据实例
———————————————————— <script type="text/javascript"> var client; ...
- C#遍历DataSet与DataSet元素实现代码
C#中的Dataset就像一个数据库,有多个表(Table),一般只有一个表,然后每个表中有行(DataRow)和列(DataColumn),DataRow[DataColumn]可以得到某行某列数据 ...
- php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
php.mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳) //其中 video 是表名: //createtime 是字段: // //数据库time字段为时间戳 // //查询当天: ...
随机推荐
- CSS背景属性
CSS背景属性 1.background-attachment 属性 scroll:默认值.背景图像会随着页面其余部分的滚动而移动. fixed:当页面的其余部分滚动时,背景图像不会移动. inher ...
- 05_Excel操作_01_简单导入导出
[Excel组成] 主要由四部分组成: 1.工作簿 每一个Excel文件都可以看成是一个工作簿,当打开一个Excel文件时,相当于打开了一个Excel工作簿. 2.工作表 当打开了Excel工作簿后, ...
- Range Minimum Query and Lowest Common Ancestor
作者:danielp 出处:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAnc ...
- Entity Framework 的事务 DbTransaction
事务代码实现如下: public static void Transaction() { myitEntities entity = null; DbTransaction tran = null; ...
- Java---Hibernate>>Can't create table './xxx/#sql-b2c_1a.frm' (errno: xxx)解决方法
通用方案:删除相关表,重新生成. 1.关联表之间数据引擎不一致导致: 修改相关表的引擎设定,保持一致. 2.关联表索引字段的引用类型不一样(如A表关联字段是int,B表索引是char): 修改相关表的 ...
- ubuntu 初始
1.命令行界面与图形界面 ctrl + alt + f1进入命令行界面 ctrl + alt + f7 切换图形界面 2.ubuntu 的wubi安装与卸载 第一:在win 系统下启动DOS,进入命令 ...
- [C#]『Task』任务并行库使用小计
1.简单创建使用 using System; using System.Diagnostics; using System.Threading; using System.Threading.Task ...
- Linux自动备份MySQL数据库脚本代码
下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是, ...
- PHP框架原理
本文主要来聊聊框架理论,但不针对任何一款框架,不过任何一款框架都离不开这个理论,首先我们了解下框架的来龙去脉,任何技术的出现都是为了解决某个问题,之前的博客有讲过smarty,其存在就是为了html和 ...
- HHVM简介(译)
原文链接:http://coderoncode.com/2013/07/24/introduction-hhvm.html “HHVM(HIpHop Virtual Machina)把PHP代码转换成 ...