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();
查看全文
相关阅读:
CentOS中的中文乱码问题的解决
xml2config not found. Please check your libxml2 installation.
yii数据库存储对象DAO
linux常用svn命令
通过rpm包安装、配置及卸载mysql的详细过程.
php Undefined index和Undefined variable的解决方法
【30篇突击 android】源码统计四
【30篇突击 android】源码统计三
Android 新手入门指导
android 问题汇总系列之三
原文地址:https://www.cnblogs.com/ghd258/p/254216.html
最新文章
谈谈C++类型安全
C++关联容器详细介绍
C语言文本方式和二进制方式打开文件区别
C++复制构造函数
C++标准转换运算符dynamic_cast
C++中static类数据成员
UVA 11255 Necklace
HDU 3441 Rotation
POJ 2728 Desert King
CSU 1027 Smallbox魔方
热门文章
POJ 2888 Magic Bracelet
SGU 275 To xor or not to xor
USTC 1130 New Game
UVA 10601 Cubes
HDU 2865 Birthday Toy
HDU 2481 Toy
解决httpd.conf:DocumentRoot must be a directory报错问题
linux centos apache+php+mysql 安装
Linux/CentOS设置ip地址及DNS
linux下让apache自动启动
Copyright © 2011-2022 走看看