使用DataSet数据集删除记录

使用DataSet删除记录和使用DataSet更新记录非常的相似,DataSet删除记录的步骤如下所示。

q  创建一个Connection对象。

q  创建一个DataAdapter对象。

q  初始化适配器。

q  使用数据适配器的Fill方法执行SELECT命令,并填充DataSet。

q  执行SqlCommandBuilder方法生成UpdataCommand方法。

q  创建DataTable对象并指定相应的DataSet中的表。

q  创建DataRow对象并查找需要修改的相应行。

q  使用Delete方法删除该行。

q  使用Updata方法进行数据更新。

在删除记录前,首先需要创建连接,示例代码如下所示。

           string str = "server='(local)';database='mytable';uid='sa';pwd='sa'";

            SqlConnection con = new SqlConnection(str);

            con.Open();

            string strsql = "select * from mynews";

上述代码创建了与数据库的连接,并编写SQL查询语句来填充DataSet。填充DataSet对象需使用DataAdapter,示例代码如下所示。

            SqlDataAdapter da = new SqlDataAdapter(strsql, con);

            SqlCommandBuilder build = new SqlCommandBuilder(da);

            DataSet ds = new DataSet();

            da.Fill(ds, "datatable");

编写完成后,需要创建DataTable对象对DataSet中相应的数据进行操作,其代码和更新记录基本相同,示例代码如下所示。

            DataTable tb = ds.Tables["datatable"];

            tb.PrimaryKey = new DataColumn[] { tb.Columns["id"] };

            DataRow row = tb.Rows.Find(3);

在进行删除之前,同样需要找到相应的行,来指定删除语句所需要删除的行,示例代码如下所示。

            row.Delete();

读者可以看到,DataSet删除方法与更新方法不同的地方只操作语句的不同,在更新中使用的是Update()方法,而在删除中使用的是Delete()方法。

注意:当使用Delete方法删除记录行的时候,可以通过调用DataRow对象的RejectChanges方法取消对记录的删除,当使用该方法删除记录行时,该行的状态会恢复为Unchanged。

在删除完毕后,同样需要保持DataSet中的数据和数据库中的数据的一致性,示例代码如下所示。

            da.Update(ds, "datatable");

使用Update方法能够使DataSet中的数据和数据库中的数据保持一致性,在ASP中,这种方法也比较常见。

posted @ 2015-06-28 11:49  自由无风  阅读(3544)  评论(0编辑  收藏  举报