遍历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字段为时间戳 // //查询当天: ...
随机推荐
- Oracle在表上建立自增字段的方法
本方法为使用SEQUENCE(序列) 例如有表temp_test结构为: create table TEMP_TEST ( id number, nm varchar(10), primary k ...
- Java的云打印Lodop
打印某一个网页上的内容我们都经常遇到过,比如网上申请港澳通行证时需要填写申请表,然后把申请表给打印出来.像这样的打印技术是怎么实现?这种打印可以通过一种叫云打印的插件来做,按我的理解云打印的技 ...
- Poj 3259 Wormholes(spfa判负环)
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 42366 Accepted: 15560 传送门 Descr ...
- IOS 学习笔记 2015-04-03 OC-API-文件读写
// // WPFileHelper.m // OC-API-文件操作 // // Created by wangtouwang on 15/4/3. // Copyright (c) 2015年 w ...
- datareader 和dataset 区别
ADO.NET2.0提供了两个用于检索关系数据的对象:DataSet和DataReader.并且这两个对象都可以将检索的关系数据存储在内存中.在软件开发过程中经常用到这两个控件,由于这两个控件在使用和 ...
- 两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错
遇到了两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错 首先第一个: 在做一个用ajax图片上传的功能中,php报了这样一个错误:File upload error - u ...
- php不允许用户提交空表单(php空值判断)
我们在设计提交空的评论时依然可以写入数据库,并在页面显示出来.这显然是不合理的,所以需要我们加入空值判断 可以修改代码,添加些判断: 复制代码代码如下: if(empty($_POST['name ...
- windows下Apache配置SSL安全连接
什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www ...
- List<>.Contains<>的用法
List<Plan> Plans = new List<Plan>();//存放服务器中的当前用户所接受的项目计划列表. //Plan 类包含PlanID等属性. if (Pl ...
- silverlight5开发的翻牌游戏
扑克牌用了一个自定义控件,代码如下 public class CardButton : Button { public int state;//是否翻转0是未翻转,1是已翻转 private stat ...