DataSet用法一:添加代码创建的表DataTable,设置主键外键,读取及修改DataSet表中数据
原文发布时间为:2008-08-01 —— 来源于本人的百度文章 [由搬家工具导入]
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class dataset : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet ds = new DataSet();
DataTable dt1 = new DataTable("user");
DataTable dt2 = new DataTable("book");
dt1.Columns.Add("uid", typeof(Int32));
dt1.Columns.Add("uname", typeof(string));
dt2.Columns.Add("bid", typeof(Int32));
dt2.Columns.Add("bname", typeof(string));
ds.Tables.Add(dt1);
ds.Tables.Add(dt2);
object[] userdata = new object[2];
object[] bookdata = new object[2];
userdata[0] = 1;
userdata[1] = "wjwu";
bookdata[0] = 1;
bookdata[1] = "English";
Session["ds"]=ds;
dt1.Rows.Add(userdata);
dt2.Rows.Add(bookdata);
fill();
}
}
private void fill()
{
DataSet ds = new DataSet();
ds = (DataSet)Session["ds"];
GridView1.DataSource = ds.Tables["user"];
GridView1.DataBind();
GridView2.DataSource = ds.Tables["book"];
GridView2.DataBind();
}
protected void addrow_Click(object sender, EventArgs e)
{
//增加表数据
DataSet ds = new DataSet();
ds = (DataSet)Session["ds"];
object[] add = new object[2];
add[0] = 2;
add[1] = "lucy";
try
{
ds.Tables["user"].Rows.Add(add);
Session["ds"] = ds;
fill();
}
catch (Exception ex)
{
Response.Write("<script>alert('" + ex.Message + "')</script>");
}
}
protected void pk_Click(object sender, EventArgs e)
{
//设置主键
DataSet ds = new DataSet();
ds = (DataSet)Session["ds"];
UniqueConstraint uc = new UniqueConstraint("userpk", ds.Tables["user"].Columns["uid"],true);
ds.Tables["user"].Constraints.Add(uc);
Session["ds"] = ds;
fill();
}
protected void fk_Click(object sender, EventArgs e)
{//设置外键
DataSet ds = new DataSet();
ds = (DataSet)Session["ds"];
ForeignKeyConstraint fkc = new ForeignKeyConstraint("userfk", ds.Tables["user"].Columns["uid"], ds.Tables["book"].Columns["bid"]);
ds.Tables["book"].Constraints.Add(fkc);
Session["ds"] = ds;
fill();
}
protected void Button1_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ds = (DataSet)Session["ds"];
Label1.Text = ds.Tables["user"].Rows[0]["uname"].ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ds = (DataSet)Session["ds"];
ds.Tables["book"].Rows[0]["bname"] = TextBox1.Text;
Session["ds"] = ds;
fill();
}
}
DataSet用法一:添加代码创建的表DataTable,设置主键外键,读取及修改DataSet表中数据的更多相关文章
- SQL Server语句创建数据库和表——并设置主外键关系
简单的创建数据库的 SQL 语句: use master go if exists(select * from sysdatabases where name='Test') begin select ...
- 使用navicat操作PostPreSql创建表并设置主键自增和触发器
使用navicat操作PostPreSql创建表并设置主键自增和触发器 1).创建递增序列 2).创建表,使用序列,设置主键递增 3)定义触发函数 自动生成时间戳函数 CREATE OR REPLAC ...
- MySQL开发——【多表关系、引擎、外键、三范式】
多表关系 一对一关系 一对多或多对一关系 多对多关系 MySQL引擎 所谓的MySQL引擎就是数据的存储方式,常用的数据库引擎有以下几种: Myisam与InnoDB引擎之间的区别(面试) ①批量插入 ...
- 第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库
第15课-数据库开发及ado.net 数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库 1. 学习方法 2. 多涨见识 3. 比自己强的人一起,学习更强:比自己更聪明的人 ...
- SqlServer主键外键添加及判断表是否存在
GO --判断表是否存在方式1 if object_id(N'EF_User',N'U') is null --判断表是否存在方式2 --if not exists (select * from db ...
- Oracle 创建表并设置主键自增
创建数据库 CREATE TABLE STUDENT(ID NUMBER PRIMARY KEY, NAME VARCHAR(200) NOT NULL, SEX VARCHAR(200), CREA ...
- 通过 jdbc 分析数据库中的表结构和主键外键
文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...
- Oracle数据库作业-2 添加主键 外键
一.在表student中添加主键sno
- Day054--MySQL, 创建用户和授权, 数据类型, 枚举和集合, 约束,唯一, 主键,外键
创建用户和授权 1.创建用户: # 指定ip:192.118.1.1的mjj用户登录 create user 'mjj'@'192.118.1.1' identified by '123'; # 指定 ...
- oracle建表,设置主键,修改属性等
--建表 create table book( book_id number(10), book_name varchar2(20), book_price number(10,2), book_au ...
随机推荐
- python - 辨识alert、window以及操作
selenium之 辨识alert.window以及操作 原创 2016年08月24日 11:01:04 4820 0 2 更多关于python selenium的文章,请关注我的专栏:Python ...
- webservice基础
一.webservice概念 webservice用于异构平台之间的交互,我用Java写的程序,可以用php..net.pythod等其它语言的程序来访问我的接口.webservice有很多框架帮我们 ...
- [提供可行性脚本] RHEL 7/CentOS 7/Fedora28 重命名网卡名称
实验说明: 在许多自动化任务中,脚本往往是通过读取配置文件来获取信息的,红帽系的系统自升级之后(CentOS7/RHEL7),网卡命名采用“一致性网络设备接口”的命名方法,导致不同设备的不同网卡名称各 ...
- nodejs开发过程中遇到的一些插件记录
1.chalk Github:https://github.com/chalk/chalk 终端样式定制插件,可自定义输出日志的样式. 1.semver 管网:https://semver.o ...
- selenium+phantomjs爬取bilibili
selenium+phantomjs爬取bilibili 首先我们要下载phantomjs 你可以到 http://phantomjs.org/download.html 这里去下载 下载完之后解压到 ...
- webdriver高级应用- 操作富文本框
富文本框的技术实现和普通的文本框的定位存在较大的区别,富文本框的常见技术用到了Frame标签,并且在Frame里面实现了一个完整的HTML网页结构,所以使用普通的定位模式将无法直接定位到富文本框对象. ...
- Debian下无root权限使用Python访问Oracle
这篇文章的起因是,在公司的服务器上没有root权限,但是需要使用 Python 访问 Oracle,而不管是使用 pip 安装组件还是安装 Oracle 的 client,都需要相应权限.本文即解决该 ...
- Android 程序 LinearLayout布局 参数layout_weight 探讨
官方参考文档 对LinearLayout.LayoutParams中的android:layout_weight解释如下:Indicates how much of the extra space i ...
- 【bzoj2338】[HNOI2011]数矩形 计算几何
题目描述 题解 计算几何 由于对角线平分且相等的四边形是矩形,因此我们可以把每条对角线存起来,按照对角线长度和中点位置为关键字排序,这样对于每个相同长度和中点的对角线就排到了一起. 于是对于每段可能形 ...
- 使用grunt实现自动化单元测试
闲话不多说~ 使用步骤 1.安装插件 npm install grunt-contrib-qunit --save-dev 2.加载包含 "qunit" 任务的插件 grunt.l ...