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——函数基础
函数是什么 它相当于一个独立的代码块,可以被重复使用,如果需要增加一个功能或者修改一个功能,只需要,增加或者修改函数即可. 函数分类 内置函数 python解释器已经为我们定义好的参数,比如:len( ...
- oracle中print_table存储过程实例介绍
oracle中pro_print_table存储过程实例介绍 存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中.这 ...
- textContent和innerText属性的区别
原文摘自 textContent和innerText属性的区别 <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- 利用sysbench工具测试MHA
利用sysbench工具测试MHA 1. sysbench准备数据 2. sysbench开始压测 3. master模拟意外宕机 4. mysqldb2 上观察mha状态 5. 手工failover ...
- pm2日志记录和日志分割
pm2日志记录和日志分割 pm2介绍 pm2是nodejs进程管理工具,现在基本是node生产服务器的标准选择,可以帮助我们实现node多进程服务,开启的多个实例自动实现负载均衡. 最重要的是保证no ...
- linux文件属性文文件类型知识
文件类型分别介绍: 1.普通文件:我们通过用ls -l来查看xxx.sql的属性,可以看到第一列内容为-rw-r--r--,值得注意的是第一个符号是-(英文字符减号),在Linux中,以这样的字符开 ...
- 地理位置编码geohash学习笔记
1.geohash及其性质 一种空间索引技术. (1)将二维的经纬度位置数据转换为一维的字符串(基本上hash族的算法都是这样): 其优点在于hash编码后的字符串,可以方便查找和索引,从而减少相似计 ...
- 阿里云全国快递物流查询api接口
口地址: https://market.aliyun.com/products/56928004/cmapi021863.html?spm=5176.730005.productlist.d_cmap ...
- 为什么要用 ORM? 和 JDBC 有何不一样?
orm是一种思想,就是把object转变成数据库中的记录,或者把数据库中的记录转变objecdt,我们可以用jdbc来实现这种思想,其实,如果我们的项目是严格按照oop方式编写的话,我们的jdbc程序 ...
- iOS 中的视图函数 init initwithnib viewDidLoad viewWillAppear的总结
我要总结的函数主要是这几个: UIView *view-如果view还没有被初始化的话,getter方法会先调用[self loadView],如果getter或者setter方法被重写了,子类中的g ...