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

ASP
ASP动态生成的javascript表单验证代码
将身份证从15位升级为18位的函数
ASP自定义函数,仿VBA中域函数DLookup
6行代码实现无组件上传
用VS2003调试ASP的方法和体会
ASP中存储过程调用的两种方式及比较
升级到2003后访问数据库发生8007007f错误的解决
ACCESS转化成SQL2000需要注意的几个问题
让ASP程序运行于非Windows平台
一些不长见的ASP调用存储过程的技巧
网站图片扫描类
一条sql 语句搞定数据库分页
在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息
ASP中轻松实现变量名-值变换
用Xml2OleDb将XML文件插入到数据库
购物车中数据的存放方式
ASP数据库编程SQL常用技巧
在ASP中利用ADO显示Excel文件内容的函数
ASP+SQL Server之图象数据处理
在 Access 中使用“存储过程”

亲密接触ASP.Net(10)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 166 ::
收藏到网摘: 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的,没有操作数据库,