博客园 - 快乐的langYa
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=134904
2018-03-13T06:35:02Z
快乐的langYa
https://www.cnblogs.com/hulang/
feed.cnblogs.com
https://www.cnblogs.com/hulang/p/5779680.html
获取SQL Server的版本信息 - 快乐的langYa
微软 SQL Server 版本号 参考资料: SQL Server Versions: http://social.technet.microsoft.com/wiki/contents/articles/783.sql-server-versions.aspx
2016-08-17T05:40:00Z
2016-08-17T05:40:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】微软 SQL Server 版本号 参考资料: SQL Server Versions: http://social.technet.microsoft.com/wiki/contents/articles/783.sql-server-versions.aspx <a href="https://www.cnblogs.com/hulang/p/5779680.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/p/3436319.html
Win2003不显示移动硬盘、U盘解决方法 - 快乐的langYa
Win2003已经识别出了“移动硬盘”,只是没有分配盘符。解决方法:插入移动硬盘,右键单击“我的电脑”,选择“管理”,进入“计算机管理”,点击“存储”下面的“磁盘管理”。可以看到现在计算机中有两个磁盘,其中磁盘0是硬盘,而磁盘1就是移动硬盘。在“磁盘1”的右边点击右键,选择“更改驱动器号和路径”,再选择“添加”,选择一个盘符,“确定”退出。
2013-11-21T13:04:00Z
2013-11-21T13:04:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】Win2003已经识别出了“移动硬盘”,只是没有分配盘符。解决方法:插入移动硬盘,右键单击“我的电脑”,选择“管理”,进入“计算机管理”,点击“存储”下面的“磁盘管理”。可以看到现在计算机中有两个磁盘,其中磁盘0是硬盘,而磁盘1就是移动硬盘。在“磁盘1”的右边点击右键,选择“更改驱动器号和路径”,再选择“添加”,选择一个盘符,“确定”退出。 <a href="https://www.cnblogs.com/hulang/p/3436319.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2013/02/27/2934640.html
Response.WriteFile 无法下载大文件解决方法 - 快乐的langYa
以前用Response.WriteFile(filename),但当遇到大文件时无法完整下载。该方法最大的问题,它不是直接将数据抛到客户端,而是在服务器端(IIS)上缓存。当下载文件比较大时,服务器压力会很大,iis虽然支持2G大小的文件下载,但当文件上了很多M时,由于服务器以及网络等因素的影响,异常概率相当大。所以当需要下载大文件时就不能使用上面的方法了。微软推荐以下方法代替之:■将数据分成较小的部分,然后将其移动到输出流以供下载,从而获取这些数据。■为用户提供用于下载文件的链接。 ■使用 Microsoft ASP 3.0 进行下载或者与 ASP 一起使用 Software Artisan
2013-02-27T02:03:00Z
2013-02-27T02:03:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】以前用Response.WriteFile(filename),但当遇到大文件时无法完整下载。该方法最大的问题,它不是直接将数据抛到客户端,而是在服务器端(IIS)上缓存。当下载文件比较大时,服务器压力会很大,iis虽然支持2G大小的文件下载,但当文件上了很多M时,由于服务器以及网络等因素的影响,异常概率相当大。所以当需要下载大文件时就不能使用上面的方法了。微软推荐以下方法代替之:■将数据分成较小的部分,然后将其移动到输出流以供下载,从而获取这些数据。■为用户提供用于下载文件的链接。 ■使用 Microsoft ASP 3.0 进行下载或者与 ASP 一起使用 Software Artisan <a href="https://www.cnblogs.com/hulang/archive/2013/02/27/2934640.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2012/10/24/2736889.html
SQL分割字符串函数 - 快乐的langYa
SQL分割字符串函数SQL里类似Split的分割字符串函数SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。一.用临时表作为数组 1 /* 2 函 数 名:F_split 3 函数作用:分割字符串 4 函数参数: 5 @c ### 要分割的字符串 6 @split ### 分隔符号 7 示例: 8 Select * From dbo.F_split('a,b,c,d',',') 9 返回结果:10 ...
2012-10-24T04:03:00Z
2012-10-24T04:03:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】SQL分割字符串函数SQL里类似Split的分割字符串函数SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。一.用临时表作为数组 1 /* 2 函 数 名:F_split 3 函数作用:分割字符串 4 函数参数: 5 @c ### 要分割的字符串 6 @split ### 分隔符号 7 示例: 8 Select * From dbo.F_split('a,b,c,d',',') 9 返回结果:10 ... <a href="https://www.cnblogs.com/hulang/archive/2012/10/24/2736889.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/08/03/2125823.html
C#中String类的几个方法(IndexOf、LastIndexOf、Substring) - 快乐的langYa
String.IndexOfString.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。String.IndexOf(value, startIndex, count)参数value:要查找的 Unicode 字符。 startIndex:搜索起始位置。 count:要检查的字符位置数。返回值(Int32):如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。 示例:string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国
2011-08-03T01:58:00Z
2011-08-03T01:58:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】String.IndexOfString.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。String.IndexOf(value, startIndex, count)参数value:要查找的 Unicode 字符。 startIndex:搜索起始位置。 count:要检查的字符位置数。返回值(Int32):如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。 示例:string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国 <a href="https://www.cnblogs.com/hulang/archive/2011/08/03/2125823.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/08/02/2125061.html
ASP.NET 2.0中执行数据库操作命令之一 - 快乐的langYa
数据库命令执行时使用Command对象。Command类有三种:SqlCommand、OleDbCommand与OdbcCommand。Command对象主要用来运行SELECT、INSERT、UPDATE或DELETE之类的SQL语句。Command对象还可以调用存储过程或从特定表中取得记录。DataReader对象主要是用来读取数据结果,使用它读取记录时通常比从DataSet更快。DataReader类有三种:SqlDataReader、OleDbDataReader和OdbcDataReader。DataReader对象用Commmand对象从数据库中读取记录,并且DataReader对
2011-08-02T07:09:00Z
2011-08-02T07:09:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】数据库命令执行时使用Command对象。Command类有三种:SqlCommand、OleDbCommand与OdbcCommand。Command对象主要用来运行SELECT、INSERT、UPDATE或DELETE之类的SQL语句。Command对象还可以调用存储过程或从特定表中取得记录。DataReader对象主要是用来读取数据结果,使用它读取记录时通常比从DataSet更快。DataReader类有三种:SqlDataReader、OleDbDataReader和OdbcDataReader。DataReader对象用Commmand对象从数据库中读取记录,并且DataReader对 <a href="https://www.cnblogs.com/hulang/archive/2011/08/02/2125061.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/05/09/2041021.html
ASP.NET基本控件FileUpload上传控件 - 快乐的langYa
前台代码:<asp:FileUpload ID="FileUpload" runat="server" /><asp:Button ID="BtnUp" runat="server" onclick="BtnUp_Click" Text="上 传" /><asp:Label ID="LabMsg" runat="server"></asp:Label>后台代码:using System;u
2011-05-09T04:05:00Z
2011-05-09T04:05:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】前台代码:<asp:FileUpload ID="FileUpload" runat="server" /><asp:Button ID="BtnUp" runat="server" onclick="BtnUp_Click" Text="上 传" /><asp:Label ID="LabMsg" runat="server"></asp:Label>后台代码:using System;u <a href="https://www.cnblogs.com/hulang/archive/2011/05/09/2041021.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/04/07/2008213.html
DataGridView的添加、编辑、更新 - 快乐的langYa
今天说说DataGridView吧,在一个小项目中用到了这个。面对的问题是要在DataGridView中编辑、更新其中的值,然后怎么回写到数据库中?一开始的想法也是用循环读取Cell,然后自己手动回写到数据库中,但总觉得不方便,认为微软会把这些工作封装好的,就上网查了一下,发现确实有这个功能。先描述一下数据库中的结构 表1 表2ID Name SexID ID Sex1 A 1 1 男2 B 2 2 女3 C 2一开始的绑定是很容易的,但绑定后更新不了数据库中的值,一更新就提示SexID的值是没设置数据源的,因为SexID是外键。还好在网上查到了一个折中的解决办法,是在建立一个DataTabl
2011-04-07T10:00:00Z
2011-04-07T10:00:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】今天说说DataGridView吧,在一个小项目中用到了这个。面对的问题是要在DataGridView中编辑、更新其中的值,然后怎么回写到数据库中?一开始的想法也是用循环读取Cell,然后自己手动回写到数据库中,但总觉得不方便,认为微软会把这些工作封装好的,就上网查了一下,发现确实有这个功能。先描述一下数据库中的结构 表1 表2ID Name SexID ID Sex1 A 1 1 男2 B 2 2 女3 C 2一开始的绑定是很容易的,但绑定后更新不了数据库中的值,一更新就提示SexID的值是没设置数据源的,因为SexID是外键。还好在网上查到了一个折中的解决办法,是在建立一个DataTabl <a href="https://www.cnblogs.com/hulang/archive/2011/04/07/2008213.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/12/1933771.html
JQuery选择器大全 - 快乐的langYa
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素$("div") 选择所有的div标签元素,返回div元素数组$(".myClass") 选择使用myClass类的css的所有元素$("*") 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.myclass")层叠选择器:$("form input") 选择所有的form元素中的input元素$("#main
2011-01-12T05:06:00Z
2011-01-12T05:06:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素$("div") 选择所有的div标签元素,返回div元素数组$(".myClass") 选择使用myClass类的css的所有元素$("*") 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.myclass")层叠选择器:$("form input") 选择所有的form元素中的input元素$("#main <a href="https://www.cnblogs.com/hulang/archive/2011/01/12/1933771.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/12/1933709.html
数字索引分页 - 快乐的langYa
效果:共1页 首页 上一页 1 2 3 4 5 6 7 8 9 10 ....下一页 末页调用页面(Aspx):1.在要显示分页导航的地方加个DIV标签:2.调用页的代码(CS):3.PageNums实现分页类(PageNums.cs):
2011-01-12T03:41:00Z
2011-01-12T03:41:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】效果:共1页 首页 上一页 1 2 3 4 5 6 7 8 9 10 ....下一页 末页调用页面(Aspx):1.在要显示分页导航的地方加个DIV标签:2.调用页的代码(CS):3.PageNums实现分页类(PageNums.cs): <a href="https://www.cnblogs.com/hulang/archive/2011/01/12/1933709.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/12/1933671.html
将数字转为大写 - 快乐的langYa
public static string ConvertToCn(decimal num) { string str1 = "零壹贰叁肆伍陆柒捌玖"; //0-9所对应的汉字 string str2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; //数字位所对应的汉字 string s...
2011-01-12T03:15:00Z
2011-01-12T03:15:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】public static string ConvertToCn(decimal num) { string str1 = "零壹贰叁肆伍陆柒捌玖"; //0-9所对应的汉字 string str2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; //数字位所对应的汉字 string s... <a href="https://www.cnblogs.com/hulang/archive/2011/01/12/1933671.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/12/1933643.html
列表显示 - 快乐的langYa
数据库中读取新闻,动态显示到前端列表的方法,假如最多显示5条。可以用如下方法然后在新闻页面读取链接里的标识进行查询:
2011-01-12T02:48:00Z
2011-01-12T02:48:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】数据库中读取新闻,动态显示到前端列表的方法,假如最多显示5条。可以用如下方法然后在新闻页面读取链接里的标识进行查询: <a href="https://www.cnblogs.com/hulang/archive/2011/01/12/1933643.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/11/1932726.html
DataTable使用技巧总结 - 快乐的langYa
在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。 DataTable(string tableName, string tableNamespace) 用指定的表名和命名空间初始化DataTable 类的新实例。 (2) 常用属性 CaseSens
2011-01-11T03:42:00Z
2011-01-11T03:42:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。 DataTable(string tableName, string tableNamespace) 用指定的表名和命名空间初始化DataTable 类的新实例。 (2) 常用属性 CaseSens <a href="https://www.cnblogs.com/hulang/archive/2011/01/11/1932726.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/11/1932725.html
DataTable添加行的方法 - 快乐的langYa
方法一:DataTable tblDatas = new DataTable("Datas");DataColumn dc = null;dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));dc.AutoIncrement = true;//自动增加dc.AutoIncrementSeed = 1;//起始为1dc.AutoIncrementStep = 1;//步长为1dc.AllowDBNull = false;//dc = tblDatas.Columns.Add("Product", Type.GetType("S
2011-01-11T03:41:00Z
2011-01-11T03:41:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】方法一:DataTable tblDatas = new DataTable("Datas");DataColumn dc = null;dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));dc.AutoIncrement = true;//自动增加dc.AutoIncrementSeed = 1;//起始为1dc.AutoIncrementStep = 1;//步长为1dc.AllowDBNull = false;//dc = tblDatas.Columns.Add("Product", Type.GetType("S <a href="https://www.cnblogs.com/hulang/archive/2011/01/11/1932725.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/11/1932581.html
DataSet用法 - 快乐的langYa
Dataset 并不是Recordset的简单翻版。从一定的意义上来说,DataView更类似于Recordset。如果说DataReader是访问数据的最容易的方式,那么Dataset则是最完整的数据访问对象。通过Dataset,你可以操作已有的数据,还可以通过程序创建Dataset,加入Table到Dataset,并建立这些Table之间的关系。使用Dataset的几个步骤第1步,创建到数据源的连接:SQLConnection con =new SQLConnection("server=localhost;uid=sa;pwd=;database=pubs");第2步,创建DataSet
2011-01-11T01:54:00Z
2011-01-11T01:54:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】Dataset 并不是Recordset的简单翻版。从一定的意义上来说,DataView更类似于Recordset。如果说DataReader是访问数据的最容易的方式,那么Dataset则是最完整的数据访问对象。通过Dataset,你可以操作已有的数据,还可以通过程序创建Dataset,加入Table到Dataset,并建立这些Table之间的关系。使用Dataset的几个步骤第1步,创建到数据源的连接:SQLConnection con =new SQLConnection("server=localhost;uid=sa;pwd=;database=pubs");第2步,创建DataSet <a href="https://www.cnblogs.com/hulang/archive/2011/01/11/1932581.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/11/1932580.html
DataSet用法操作XML - 快乐的langYa
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebPar...
2011-01-11T01:53:00Z
2011-01-11T01:53:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebPar... <a href="https://www.cnblogs.com/hulang/archive/2011/01/11/1932580.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/11/1932572.html
SQL注入漏洞攻击 - 快乐的langYa
* 登陆判断:select * from T_Users where UserName=... and Password=...,将参数拼到SQL语句中。*构造恶意的Password: 'or'1'='1if(reader.Read()){ Response.Write("登录成功!");}else{Response.Write("登录失败!");}* 防范注入漏洞攻击的方法:不使用SQL语句拼接,通过参数赋值。* SQL语句使用@UserName表示“此处用参数代替”,向SqlCommand的Patameters中添加参数 cmd.CommandText="select * from T_
2011-01-11T01:50:00Z
2011-01-11T01:50:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】* 登陆判断:select * from T_Users where UserName=... and Password=...,将参数拼到SQL语句中。*构造恶意的Password: 'or'1'='1if(reader.Read()){ Response.Write("登录成功!");}else{Response.Write("登录失败!");}* 防范注入漏洞攻击的方法:不使用SQL语句拼接,通过参数赋值。* SQL语句使用@UserName表示“此处用参数代替”,向SqlCommand的Patameters中添加参数 cmd.CommandText="select * from T_ <a href="https://www.cnblogs.com/hulang/archive/2011/01/11/1932572.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/11/1932573.html
判断SQL 中SELECT 语句所影响的行 - 快乐的langYa
首先看看ExecuteNonQuery()与ExecuteNonQuery()的返回值。SqlCommand.ExecuteNonQuery() 方法仅对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1SqlCoCommand.ExecuteScalar ()方法执行查询,并返回查询所返回的结果集中第一行的第一列,忽略额外的列或行。如果为聚合查询则返回一个聚合值。所以在查询表中是否有(某条)数据的时候,一定不能用 cmd.ExecuteNonQuery()通过返回值是否大于0来判断。解决方
2011-01-11T01:50:00Z
2011-01-11T01:50:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】首先看看ExecuteNonQuery()与ExecuteNonQuery()的返回值。SqlCommand.ExecuteNonQuery() 方法仅对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1SqlCoCommand.ExecuteScalar ()方法执行查询,并返回查询所返回的结果集中第一行的第一列,忽略额外的列或行。如果为聚合查询则返回一个聚合值。所以在查询表中是否有(某条)数据的时候,一定不能用 cmd.ExecuteNonQuery()通过返回值是否大于0来判断。解决方 <a href="https://www.cnblogs.com/hulang/archive/2011/01/11/1932573.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/11/1932571.html
使用DataAdapter的Fill方法返回包含多个数据表的DataSet - 快乐的langYa
在DataAdapter的SelectCommand的CommandText中直接采用批查询例如:这样,dsData中就会有两个DataTable,分别为Table和Table1(去掉注释名称就为Order_Info和Customer_Info)
2011-01-11T01:49:00Z
2011-01-11T01:49:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】在DataAdapter的SelectCommand的CommandText中直接采用批查询例如:这样,dsData中就会有两个DataTable,分别为Table和Table1(去掉注释名称就为Order_Info和Customer_Info) <a href="https://www.cnblogs.com/hulang/archive/2011/01/11/1932571.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/hulang/archive/2011/01/11/1932568.html
DataSet用法(四) 读写XML - 快乐的langYa
ReadXml 提供了只将数据或同时将数据和架构从 XML 文档读入 DataSet 的方式(若要同时读数据和架构,请使用包括 mode 参数的 ReadXML 重载之一,并将其值设置为 ReadSchema)。ReadXmlSchema 方法仅读架构。对于 WriteXml 和 WriteXmlSchema 方法也是如此。若要写入来自 DataSet 的 XML 数据或架构和数据两者,使用 WriteXml 方法。若要只写入架构,请使用 WriteXmlSchema 方法。XML 数据可直接从文件、Stream 对象、XmlWriter 对象或 TextWriter 对象中读取。可以根据需要
2011-01-11T01:48:00Z
2011-01-11T01:48:00Z
快乐的langYa
https://www.cnblogs.com/hulang/
【摘要】ReadXml 提供了只将数据或同时将数据和架构从 XML 文档读入 DataSet 的方式(若要同时读数据和架构,请使用包括 mode 参数的 ReadXML 重载之一,并将其值设置为 ReadSchema)。ReadXmlSchema 方法仅读架构。对于 WriteXml 和 WriteXmlSchema 方法也是如此。若要写入来自 DataSet 的 XML 数据或架构和数据两者,使用 WriteXml 方法。若要只写入架构,请使用 WriteXmlSchema 方法。XML 数据可直接从文件、Stream 对象、XmlWriter 对象或 TextWriter 对象中读取。可以根据需要 <a href="https://www.cnblogs.com/hulang/archive/2011/01/11/1932568.html" target="_blank">阅读全文</a>