zoukankan
html css js c++ java
ASP.Net 更新储存在xml文件中的数据(update操作)
XML文件请见
ASP.Net中实现XMl的标识列(ID列)或自增长列
代码如下:
更新按钮事件:
private
void
Btn_update_Click(
object
sender, System.EventArgs e)
{
Xml_UpDt(ViewState[
"
uid
"
].ToString());
//
调用Xml_UpDt方法
BindDG();
//
重新绑定datagrid
}
Xml_UpDt方法:
void
Xml_UpDt(
string
userid)
{
string
username
=
this
.Txt_name.Text;
string
userpass
=
this
.Txt_pass.Text;
string
usermail
=
this
.Txt_mail.Text;
string
usersite
=
this
.Txt_site.Text;
string
usermsn
=
this
.Txt_msn.Text;
string
[] Columns
=
{
"
username
"
,
"
userpass
"
,
"
usermail
"
,
"
usersite
"
,
"
usermsn
"
}
;
string
[] ColumnsValues
=
{username,userpass,usermail,usersite,usermsn}
;
OperateXmlByDataSet.UpdateXmlRow(ViewState[
"
filename
"
].ToString(),Columns,ColumnsValues,
"
userid
"
,userid);
}
ViewState["filename"]= Server.MapPath("..//XML//User.xml");
OperateXmlByDataSet的UpdateXmlRow方法:
UpdateXmlRow
#region
UpdateXmlRow
/**/
///
<summary>
///
更行符合条件的一条Xml记录
///
</summary>
///
<param name="strXmlPath">
XML文件路径
</param>
///
<param name="Columns">
列名数组
</param>
///
<param name="ColumnValue">
列值数组
</param>
///
<param name="strWhereColumnName">
条件列名
</param>
///
<param name="strWhereColumnValue">
条件列值
</param>
///
<returns></returns>
public
static
bool
UpdateXmlRow(
string
strXmlPath,
string
[] Columns,
string
[] ColumnValue,
string
strWhereColumnName,
string
strWhereColumnValue)
{
try
{
string
strXsdPath
=
strXmlPath.Substring(
0
,strXmlPath.IndexOf(
"
.
"
))
+
"
.xsd
"
;
DataSet ds
=
new
DataSet();
ds.ReadXml(GetXmlFullPath(strXmlPath));
//
先判断行数
if
(ds.Tables[
0
].Rows.Count
>
0
)
//
DataSet ds = new DataSet();
//
//
读xml架构,关系到列的数据类型
//
ds.ReadXmlSchema(GetXmlFullPath(strXsdPath));
//
ds.ReadXml(GetXmlFullPath(strXmlPath));
//
int count = ds.Tables[0].Rows.Count;
//
先判断行数
//
if(count > 0)
{
for
(
int
i
=
0
; i
<
ds.Tables[
0
].Rows.Count; i
++
)
{
//
如果当前记录为符合Where条件的记录
if
(ds.Tables[
0
].Rows[i][strWhereColumnName].ToString().Trim().Equals(strWhereColumnValue))
{
//
循环给找到行的各列赋新值
for
(
int
j
=
0
; j
<
Columns.Length; j
++
)
{
ds.Tables[
0
].Rows[i][Columns[j]]
=
ColumnValue[j];
}
//
更新DataSet
ds.AcceptChanges();
//
重新写入XML文件
ds.WriteXml(GetXmlFullPath(strXmlPath));
return
true
;
}
}
}
return
false
;
}
catch
(Exception)
{
return
false
;
}
}
#endregion
作者:
青羽
查看全文
相关阅读:
牛客编程巅峰赛S1第8场
【杭电多校4】2020 Multi-University Training Contest 4
2020牛客暑期多校训练营(第七场)
DFS【搜索1】
2020牛客暑期多校训练营(第六场)
2020牛客暑期多校训练营(第五场)
大数模板
分布式前后端分离项目开发步骤
Linux 查看服务器硬件信息
写在前面
原文地址:https://www.cnblogs.com/tenghoo/p/526016.html
最新文章
JavaScript统计字符出现的次数
ubuntu下 apt emacs git设置代理
蓝牙编程扫盲 L2CAP sockets
蓝牙编程扫盲 RFCOMM sockets
蓝牙编程扫盲 搜索周边的蓝牙设备
蓝牙编程扫盲 基本概念
PBAP协议 简单介绍
linux蓝牙初探
AOSP(安卓)源码里 obex,pbap,map相关的源码和路径
pycharm项目中如何带'?'问号图标的文件
热门文章
docker安装官方的nginx镜像报错和更换docker的安装源
sqlplus 生成 insert INTO 语句
win10_linux子系统_WSL_WSL2_debian10
MYSQL索引-下
MYSQL索引-上
APISIX的安装和简单使用
套接字编程基础
2020上海高校程序设计竞赛暨第18届上海大学程序设计联赛夏季赛(同步赛)
2020牛客暑期多校训练营(第八场)
并查集
Copyright © 2011-2022 走看看