首页
VS Code教程
(current)
VS Code插件
(current)
VS Code打造IDE
(current)
VScode更新日志
(current)
关于
DataSet 添加数据集、行、列、主键和外键等操作示例
714
人浏览 /
0
人评论
前台代码: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
{
/**/
///
///
CodeUse 的摘要说明。
///
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);
}
/**/
///
///
设计器支持所需的方法 - 不要使用代码编辑器修改
///
此方法的内容。
///
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();
相关文章
如何有效避免设计作品“空”?
高点击率钻展,设计环节…
无敌配色技巧(一)
留言
全部评论
晴天下起了小雨
2017-10-01 18:00
很喜欢,果断关注了
回复
wjmyly7336064
2017-10-01 18:00
相当实用,赞美了
橘大佬
2017-10-01 18:00
就是有些细节再到位点就好了…
回复
微信公众号
关注微信公众号获取更多VSCode编程信息,定时发布干货文章
最新文章
What's the make money?
MySQL 9.0 的新增功能
Apple 在 iOS 17 中使用 Swift 和 SwiftUI
编写更多“无用”软件
windows 修改环境变量后在 vscode 的终端不生效的两种解决方法
整理列出PHP各个版本5.2至8.0、8.1的特性以及区别
unicode 表情对照表
Stable Diffusion(AI绘画)Lora模型BRA V4发布:AI生成东亚人照片的生态可能因此改变
热门标签
VSCode
python
php
插件
防火墙
nodejs
远程开发
linux
virtualenv
flutter
安卓
苹果
图标主题
mysql
VScode插件
全部评论