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();
查看全文
相关阅读:
根据IP定位用户所在城市信息
Laravel根据Ip获取国家,城市信息
基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用
Linux利用OneinStack搭建环境
五大主流浏览器及四大内核1
手机QQ浏览器属于代理服务器吗?
各种浏览器怎么换ip
微信浏览器到底是什么内核?
交谈10要素,
广告行业的大数据处理架构实践
原文地址:https://www.cnblogs.com/skylaugh/p/595646.html
最新文章
What is the difference between Gradle Build and Gradle Sync?
What is gradle sync in Android Studio?
Android Studio常用快捷键汇总(mac)
Android中Application类总结
android.intent.action.MAIN 与 android.intent.category.LAUNCHER 的验证理解
Build Tool-自动化构建工具
什么是构建工具
大神所写的深度好文---Gradle 构建工具
Gradle与Makefile构建工具的对比
java中“53”个关键字(含2个保留字)
热门文章
abstract class和interface 抽象类与接口类的区别
JAVA中EXTENDS 与 IMPLEMENT 区别
rxswift-self.usernameTF.rx.text.orEmpty.map
block要用copy修饰,还是用strong
Escaping Closures 两点:本质是生命周期标示符
monad-类型构造与转换器-promise
高阶函数-函数作为参数与函数执行的过程
sqlitManager
php中Session使用方法详解
ip地址库 与浏览器的关系
Copyright © 2011-2022 走看看