zoukankan
html css js c++ java
DataSet 添加数据集、行、列、主键和外键等操作示例
前台代码:html
<%
@ Page language
=
"
c#
"
Codebehind
=
"
CodeUse.aspx.cs
"
AutoEventWireup
=
"
false
"
Inherits
=
"
DsAndXML.CodeUse
"
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
>
<
HTML
>
<
HEAD
>
<
title
>
CodeUse
</
title
>
<
meta
content
="Microsoft Visual Studio 7.0"
name
="GENERATOR"
>
<
meta
content
="C#"
name
="CODE_LANGUAGE"
>
<
meta
content
="JavaScript"
name
="vs_defaultClientScript"
>
<
meta
content
="http://schemas.microsoft.com/intellisense/ie5"
name
="vs_targetSchema"
>
</
HEAD
>
<
body
MS_POSITIONING
="GridLayout"
>
<
form
id
="CodeUse"
method
="post"
runat
="server"
>
<
FONT
face
="宋体"
>
<
asp:button
id
="btnCreate"
style
="Z-INDEX: 100; LEFT: 31px; POSITION: absolute; TOP: 43px"
runat
="server"
Height
="36"
Width
="130"
Text
="创建数据集和数据表"
></
asp:button
>
<
asp:Button
id
="btnUpdateDs"
style
="Z-INDEX: 117; LEFT: 35px; POSITION: absolute; TOP: 439px"
runat
="server"
Height
="36px"
Width
="131px"
Text
="赋值"
></
asp:Button
>
<
asp:Label
id
="Label3"
style
="Z-INDEX: 112; LEFT: 352px; POSITION: absolute; TOP: 395px"
runat
="server"
>
列号:
</
asp:Label
>
<
asp:Label
id
="Label2"
style
="Z-INDEX: 111; LEFT: 209px; POSITION: absolute; TOP: 395px"
runat
="server"
>
行号:
</
asp:Label
>
<
asp:Button
id
="btnUpdateMID"
style
="Z-INDEX: 107; LEFT: 37px; POSITION: absolute; TOP: 330px"
runat
="server"
Height
="36"
Width
="131"
Text
="修改MasterID"
></
asp:Button
>
<
asp:Button
id
="btnAddForeign"
style
="Z-INDEX: 106; LEFT: 35px; POSITION: absolute; TOP: 278px"
runat
="server"
Height
="36"
Width
="131"
Text
="添加外键"
></
asp:Button
>
<
asp:Button
id
="Button1"
style
="Z-INDEX: 105; LEFT: 31px; POSITION: absolute; TOP: 217px"
runat
="server"
Height
="36px"
Width
="130px"
Text
="添加唯一键"
></
asp:Button
><
asp:button
id
="btnAddRow"
style
="Z-INDEX: 102; LEFT: 31px; POSITION: absolute; TOP: 161px"
runat
="server"
Height
="36px"
Width
="130px"
Text
="添加行"
></
asp:button
><
asp:button
id
="btnAddColumn"
style
="Z-INDEX: 101; LEFT: 31px; POSITION: absolute; TOP: 102px"
runat
="server"
Height
="36px"
Width
="130px"
Text
="添加列"
></
asp:button
><
asp:datagrid
id
="dgMaster"
style
="Z-INDEX: 103; LEFT: 242px; POSITION: absolute; TOP: 40px"
runat
="server"
Height
="120px"
Width
="485px"
></
asp:datagrid
><
asp:datagrid
id
="dgChild"
style
="Z-INDEX: 104; LEFT: 240px; POSITION: absolute; TOP: 193px"
runat
="server"
Height
="111px"
Width
="479px"
></
asp:datagrid
>
<
asp:TextBox
id
="tbRow"
style
="Z-INDEX: 108; LEFT: 275px; POSITION: absolute; TOP: 395px"
runat
="server"
Width
="54px"
></
asp:TextBox
>
<
asp:TextBox
id
="tbCol"
style
="Z-INDEX: 109; LEFT: 422px; POSITION: absolute; TOP: 395px"
runat
="server"
Width
="64px"
></
asp:TextBox
>
<
asp:Label
id
="Label1"
style
="Z-INDEX: 110; LEFT: 520px; POSITION: absolute; TOP: 399px"
runat
="server"
>
值:
</
asp:Label
>
<
asp:TextBox
id
="tbResult"
style
="Z-INDEX: 113; LEFT: 585px; POSITION: absolute; TOP: 394px"
runat
="server"
Width
="145px"
></
asp:TextBox
>
<
asp:Label
id
="Label4"
style
="Z-INDEX: 114; LEFT: 209px; POSITION: absolute; TOP: 344px"
runat
="server"
>
表:
</
asp:Label
>
<
asp:DropDownList
id
="ddlTable"
style
="Z-INDEX: 115; LEFT: 277px; POSITION: absolute; TOP: 341px"
runat
="server"
>
<
asp:ListItem
Value
="0"
>
表一
</
asp:ListItem
>
<
asp:ListItem
Value
="1"
>
表二
</
asp:ListItem
>
</
asp:DropDownList
>
<
asp:Button
id
="Button2"
style
="Z-INDEX: 116; LEFT: 35px; POSITION: absolute; TOP: 389px"
runat
="server"
Height
="36px"
Width
="131px"
Text
="求值"
></
asp:Button
></
FONT
></
form
>
</
body
>
</
HTML
>
后台代码:cs
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HtmlControls;
namespace
DsAndXML
{
/**/
///
<summary>
///
CodeUse 的摘要说明。
///
</summary>
public
class
CodeUse : System.Web.UI.Page
{
protected
System.Web.UI.WebControls.Button btnAddColumn;
protected
System.Web.UI.WebControls.Button btnAddRow;
protected
System.Web.UI.WebControls.DataGrid dgMaster;
protected
System.Web.UI.WebControls.DataGrid dgChild;
protected
System.Web.UI.WebControls.Button Button1;
protected
System.Web.UI.WebControls.Button btnAddForeign;
protected
System.Web.UI.WebControls.Button btnUpdateMID;
protected
System.Web.UI.WebControls.TextBox tbRow;
protected
System.Web.UI.WebControls.TextBox tbCol;
protected
System.Web.UI.WebControls.Label Label1;
protected
System.Web.UI.WebControls.Label Label2;
protected
System.Web.UI.WebControls.Label Label3;
protected
System.Web.UI.WebControls.TextBox tbResult;
protected
System.Web.UI.WebControls.Label Label4;
protected
System.Web.UI.WebControls.DropDownList ddlTable;
protected
System.Web.UI.WebControls.Button Button2;
protected
System.Web.UI.WebControls.Button btnUpdateDs;
protected
System.Web.UI.WebControls.Button btnCreate;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
//
在此处放置用户代码以初始化页面
}
Web Form Designer generated code
#region
Web Form Designer generated code
override
protected
void
OnInit(EventArgs e)
{
//
//
CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base
.OnInit(e);
}
/**/
///
<summary>
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
</summary>
private
void
InitializeComponent()
{
this
.btnCreate.Click
+=
new
System.EventHandler(
this
.btnCreate_Click);
this
.btnAddRow.Click
+=
new
System.EventHandler(
this
.btnAddRow_Click);
this
.btnAddColumn.Click
+=
new
System.EventHandler(
this
.btnAddColumn_Click);
this
.Button1.Click
+=
new
System.EventHandler(
this
.Button1_Click);
this
.btnAddForeign.Click
+=
new
System.EventHandler(
this
.btnAddForeign_Click);
this
.btnUpdateMID.Click
+=
new
System.EventHandler(
this
.btnUpdateMID_Click);
this
.Button2.Click
+=
new
System.EventHandler(
this
.Button2_Click);
this
.btnUpdateDs.Click
+=
new
System.EventHandler(
this
.btnUpdateDs_Click);
this
.Load
+=
new
System.EventHandler(
this
.Page_Load);
}
#endregion
private
void
btnCreate_Click(
object
sender, System.EventArgs e)
{
DataSet dsUntyped
=
new
DataSet(
"
myDS
"
);
//
创建数据集
DataTable dtMaster
=
new
DataTable(
"
Master
"
);
//
创建数据表
DataTable dtChild
=
new
DataTable(
"
Child
"
);
dsUntyped.Tables.Add(dtMaster);
//
把数据表添加到数据集中
dsUntyped.Tables.Add(dtChild);
Session[
"
ds
"
]
=
dsUntyped;
}
private
void
btnAddColumn_Click(
object
sender, System.EventArgs e)
{
DataSet dsUntyped
=
(DataSet)Session[
"
ds
"
];
dsUntyped.Tables[
"
Master
"
].Columns.Add(
"
MasterID
"
,
typeof
(
int
));
dsUntyped.Tables[
"
Master
"
].Columns.Add(
"
MasterValue
"
,
typeof
(
string
));
dsUntyped.Tables[
"
Child
"
].Columns.Add(
"
MasterLink
"
,
typeof
(
int
));
dsUntyped.Tables[
"
Child
"
].Columns.Add(
"
ChildID
"
,
typeof
(
int
));
dsUntyped.Tables[
"
Child
"
].Columns .Add(
"
ChildValue
"
,
typeof
(
string
));
//
修改表头
dsUntyped.Tables[
"
Master
"
].Columns[
"
MasterID
"
].Caption
=
"
主ID
"
;
dsUntyped.Tables[
"
Master
"
].Columns[
"
MasterValue
"
].Caption
=
"
值
"
;
Session[
"
ds
"
]
=
dsUntyped;
Bind();
}
private
void
btnAddRow_Click(
object
sender, System.EventArgs e)
{
try
{
DataSet dsUntyped
=
(DataSet)Session[
"
ds
"
];
//
为Master表添加两行
DataRow dr
=
dsUntyped.Tables[
"
Master
"
].NewRow();
dr[
"
MasterID
"
]
=
1
;
dr[
"
MasterValue
"
]
=
"
One
"
;
dsUntyped.Tables[
"
Master
"
].Rows.Add(dr);
dr
=
dsUntyped.Tables[
"
Master
"
].NewRow();
dr[
"
MasterID
"
]
=
2
;
dr[
"
MasterValue
"
]
=
"
Two
"
;
dsUntyped.Tables[
"
Master
"
].Rows.Add(dr);
//
为child表添加1行
dr
=
dsUntyped.Tables[
"
Child
"
].NewRow();
dr[
"
MasterLink
"
]
=
1
;
dr[
"
ChildID
"
]
=
1
;
dr[
"
ChildValue
"
]
=
"
ChildOne
"
;
dsUntyped.Tables[
"
Child
"
].Rows.Add(dr);
Session[
"
ds
"
]
=
dsUntyped;
Bind();
}
catch
(Exception ee)
{
Response.Write(ee.Message);
}
}
//
添加唯一键
private
void
Button1_Click(
object
sender, System.EventArgs e)
{
DataSet dsUntyped
=
(DataSet)Session[
"
ds
"
];
System.Data.UniqueConstraint uc
=
new
UniqueConstraint(
"
unqi
"
,dsUntyped.Tables[
"
Master
"
].Columns[
"
MasterID
"
]);
dsUntyped.Tables[
"
Master
"
].Constraints.Add(uc);
Session[
"
ds
"
]
=
dsUntyped;
}
private
void
Bind()
{
DataSet dsUntyped
=
(DataSet)Session[
"
ds
"
];
dgMaster.DataSource
=
dsUntyped.Tables[
"
Master
"
].DefaultView;
dgChild.DataSource
=
dsUntyped.Tables[
"
Child
"
].DefaultView;
this
.DataBind();
}
private
void
btnAddForeign_Click(
object
sender, System.EventArgs e)
{
DataSet dsUntyped
=
(DataSet)Session[
"
ds
"
];
System.Data.ForeignKeyConstraint fc
=
new
ForeignKeyConstraint(
"
fc
"
,dsUntyped.Tables[
"
Master
"
].Columns[
"
MasterID
"
],dsUntyped.Tables[
"
Child
"
].Columns[
"
MasterLink
"
]);
dsUntyped.Tables[
"
Child
"
].Constraints.Add(fc);
Session[
"
ds
"
]
=
dsUntyped;
}
private
void
btnUpdateMID_Click(
object
sender, System.EventArgs e)
{
DataSet dsUntyped
=
(DataSet)Session[
"
ds
"
];
dsUntyped.Tables[
"
Master
"
].Rows[
0
][
"
MasterID
"
]
=
4
;
Bind();
}
private
void
Button2_Click(
object
sender, System.EventArgs e)
{
DataSet dsUntyped
=
(DataSet)Session[
"
ds
"
];
int
nIndexTb
=
int
.Parse(ddlTable.SelectedItem.Value);
int
nIndexRow
=
int
.Parse(tbRow.Text);
int
nIndexCol
=
int
.Parse(tbCol.Text);
object
obj
=
dsUntyped.Tables[nIndexTb].Rows[nIndexRow][nIndexCol];
tbResult.Text
=
obj.ToString();
}
private
void
btnUpdateDs_Click(
object
sender, System.EventArgs e)
{
DataSet dsUntyped
=
(DataSet)Session[
"
ds
"
];
int
nIndexTb
=
int
.Parse(ddlTable.SelectedItem.Value);
int
nIndexRow
=
int
.Parse(tbRow.Text);
int
nIndexCol
=
int
.Parse(tbCol.Text);
dsUntyped.Tables[nIndexTb].Rows[nIndexRow][nIndexCol]
=
tbResult.Text;
Session[
"
ds
"
]
=
dsUntyped;
Bind();
}
}
}
如何把利用DataSet的GetXml()方法获得的字符串再转成DataSet对象
DataSet ds
=
db.ExecSqlForDataSet( strSQL );
string
strDS
=
ds.GetXml();
//
如何把strDS转换成DataSet对象??
--------------------------------------------------------------------------------
String strDS
=
"
"
System.IO.StringReader reader
=
new
System.IO.StringReader(strDS);
ds.ReadXml(reader);
reader.Close();
查看全文
相关阅读:
【支付宝支付】手机网页内 支付宝支付实现过程
【微信支付】微信端的手机网页支付 开发流程
【Linux】Linux下 环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别【转】
SLF4J 和 Logback 在 Maven 项目中的使用方法
打造Spring Cloud构建微服务架构的最全资料
WebApi安全性 使用TOKEN+签名验证
<meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />的意义
request.getParameter(“参数名”) 中文乱码解决方法
Mysql的timestamp类型,自动记录数据的更新时间
根据身份证号,取得行政区划的Javascript实现
原文地址:https://www.cnblogs.com/skylaugh/p/595646.html
最新文章
各类总线传输速率【转】
linux内核栈用户栈切换【转】
linux用户栈内核栈的设置---进程的创建: fork/execve【转】
2014年百度之星资格赛第二题Disk Schedule
出现security ioError 安全沙箱问题
Java凝视Annotation
大话NoSql
CentOS6.5下使用NetHogs监控进程网络使用情况
Linux FTP安装与简单配置
2014华为上机试题
热门文章
Android项目打包开启proguard的混淆优化带来的问题
《你必须知道的495个C语言问题》知识笔记及补充
#leetcode#Kth Smallest Element in a BST
【Linux】CentOS7上安装google谷歌浏览器
【Linux】CentOS7 添加常用源
【Linux】CentOS7上安装搜狗输入法
【Linux】CentOS7上安装JDK 和卸载 JDK 【rpm命令的使用】
【Linux】CentOS7上设置快捷键 随时补充
【Linux】CentOS7上的一些操作小方法
【微信公众号发红包转账】微信公众号上手机网页接收请求,通过公众号给用户发红包 开发流程
Copyright © 2011-2022 走看看