快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

亲密接触ASP.Net(10)

     接上一节,我们这一节主要计论如何使用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的,没有操作数据库,但是我们的目的还是要将数据保存到数据中去,所以我们这里就需要调用DataSetCommand的Update方式。下面的程序显示如何将DataSet的数据交给数据库。
  
  MyComm.Update(MyDataSet);
  
  很简朴的一句,呵呵。这里要注重,假如一个DataSet中包含有多个表,而我们只更新一个,那我们就必须写明更新的数据表名:
  
  MyComm.Update(MyDataSet,"UserList");
  
  当Update方式被调用后,DataSetCommand会将数据库中的数据与DataSet中的数据相比较,对不一样的地方进行更新。
  
  对于DataSet的操作,我们这里只讲这么多,其实DataSet的方式和属性有很多,功能也很全,我想现在这里的所讲的功能,对一般的操作已经足够了。
  
  
   
  
  


返回类别: 教程
上一教程: ASP.NET升级能力探讨(一)
下一教程: 披着羊皮的大野狼 ASP中Session技巧

您可以阅读与"亲密接触ASP.Net(10)"相关的教程:
· 亲密接触ASP.Net(9)
· 亲密接触ASP.Net(3)
· 亲密接触ASP.Net(4)
· 亲密接触ASP.Net(11)
· 亲密接触ASP.Net(16) 
    微笑服务 优质保证 索取样品