当前位置: 首页 > 图文教程 > 网络编程 > ASP > 亲密接触ASP.Net(10)

ASP
asp查询xml的代码 不刷新页面查询的方法
ASP 快速执行动态网页
asp实现本周的一周时间列表的代码
asp get和post数据接收过滤
为google量身定做的sitemap生成代码asp版
适合所有网站的rss和xml聚合功能asp代码
ASP MSSQL存储过程的实现小例
动网论坛的asp 数据库连接代码
ASP+MSSQL2000 数据库被批量注入后的解决方法
asp 去掉html中的table正则代码函数
asp 过滤非法字符函数
asp检测是否为中文字符函数
ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
asp HTTP 500错误 常见问题分析
asp 关键词高亮显示(不区分大小写)
一段ASP的HTTP_REFERER判断代码
asp datediff 时间相减
asp下去除超链接的函数
asp连接mssql2005的代码
asp access数据库并生成XML文件范例

亲密接触ASP.Net(10)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 84 ::
收藏到网摘: n/a

       接上一节,我们这一节主要计论如何使用DataSet,在数据库中增加、修改、删除一个数据。
  
  首先我们需要打开一个联结,我们的数据库还是用上一节的吧:)
  
  string MyConnString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:/test/test.mdb;";
  string strComm = "select * from UserList";
  ADOConnection MyConnection = new ADOConnection(MyConnString);
  ADODataSetCommand MyComm = new ADODataSetCommand(strComm,MyConnection);
  
  这里我们为了讲解方便,只在DataSet存入一个表的内容:
  
  DataSet MyDataSet = new DataSet();
  MyComm.FillDataSet(MyDataSet,"UserList");
  
  此时我们就获得了一个拥有UserList表数据的DataSet。在讲解DataSet之前,我们还需要了解DataSet的结构下面是DataSet的结构树
  
  DataSet
  RelationsCollection
  ExtendedProperties
  TablesCollection  
  DataTables
   
  Rows
  Columns
  其它
  由于我们研究的是DataTable,其它的我们暂时不管他们。一个DataSet中包含多个DataTable,一个DataTable又包含有多个Row,这就是我们操作DataSet的基础啦:)
  
  添加数据
  
  添加一数据,从上面的列表中我们可以看出,其实就是添加一行Row,这里我们也来演示一下如何添加一行数据,我们程序一切以DataSet为顶点,呵呵,如果TablesCollection,RowsCollection下去的话,还有一些烦人的dt.AcceptChanges这些方法的调用,很烦人,还是一次搞定吧。
  
  DataRow dr=MyDataSet.Tables["UserList"].NewRow();
  dr["UserName"] = "周讯";
  dr["ReMark"] = "100";
  dr["Comment"] = "漂亮MM";
  MyDataSet.Tables.Rows.Add(dr);
  
  第一行,我们建立一个新的数据行,它用来储存我们新加入的数据。然后我们在这个数据行中加入我们需要的数据。dr["UserName"]表明是对UserName字段进行添加,你可以使用dr[1]来添加信息,但是这需要我们事先知道字段在数据表的位置,而且在不知道数据表结构的情况很难知道我们添加的数据的对应情况,所以还是用字段名为好。
  
  最后我们使用RowsCollection的Add方法,将我们新建这一行加入到数据表中。
  
  修改数据
  
  知道如何添加数据后,修改数据也是很简单的事情了.
  
  MyDataSet.Tables["UserList"].Rows[0]["UserName"]="飞刀大哥";
  
  这样我们就修改了第一行数据中的UserName字段。
  
  删除数据
  
  删除数据,主要是使用RowsCollection提供的Delete方法,看下面的程序也是很简单的事情啦:)
  
  MyDataSet.Tables["UserList"],Rows[0].Delete();
  
  这一行数据就已经被删除了。
  
  恢复数据
  
  有时候我们添加/修改数据会出现错误,这时候,就需要恢复原来的数据。下面的程序,显示如何判断是否有错误发生:
  
  if(MyDataSet.HasErrors)
  {
  MyDataSet.RejectChanges();
  }
   
  
  首先我们检查DataSet中是否有错误发生,如果有就使用RejectChanges()方法,恢复DataSet中的数据。注意这里恢复是在DataSet中所有表以及表中DataRow中的数据,也就是在此交次操作的数据全部恢复。如果我们只需要恢复部分内容,我们可以使用DataTable或DataRow的RejectChanges(),这里就不详细讲解了,使用方法和DataSet一样,只是操作的对像不同而已。
  
  探测DataSet是否有改动
  
  我们在将DataSet送交给数据库去保存去,我们需要看看这个DataSet是否已经被改动了。如果没有改动,我们也就没有必要去修改数据库了。
  
  if(MyDataSet.HasChanges)
  {
   //保存
  }else{
   //不进行任何操作
  }
  
  更新数据库
  
  我们上面的操作,都只是针对DataSet的,没有操作数据库,