Ado.Net学习之【DataSet】和【SqlDataAdapter】结合实现数据的【增】【删】【改】【查】

准备:再数据库中建立一张表:表名:PicInfos

表结构:

表数据:

关于数据库的链接就不多说了。直接进入今天的主题:利用DataSet和SqlDataAdapter对数据库中的数据进行操作:

一、查看数据:

public void DoSqlData()
        {
            using (SqlConnection sqlconn = new SqlConnection(sqlStr))
            {
                string str = "select * from PicInfos";   //sql查询语句
                SqlDataAdapter sda = new SqlDataAdapter(str, sqlconn);
                DataSet ds = new DataSet();        //建立一个DataSet集合
                sda.Fill(ds);             //将查询的结果存放在DataSet集合中              
                GridView1.DataSource = ds;    //指定数据源   
                GridView1.DataBind();   //绑定数据
            }
        }

结果如下所示:

第二、增添数据:

public void DoSqlData()
        {
            using (SqlConnection sqlconn = new SqlConnection(sqlStr))
            {
                string str = "select * from PicInfos";   //sql查询语句
                SqlDataAdapter sda = new SqlDataAdapter(str, sqlconn);
                DataSet ds = new DataSet();        //建立一个DataSet集合
                sda.Fill(ds);             //将查询的结果存放在DataSet集合中 

                //利用dataset向数据库中添加数据,利用sqldataadapter更新数据
                SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(sda);   //关键点
                //添加行,实例化一个行对象,注意是用newrow来创建行
                DataRow dr = ds.Tables[0].NewRow();   //在创建新的一行
                //添加的数据
                dr["name"] = "tom";
                dr["content"] = "tom是不是tom";
                dr["type"] = "数据";
                dr["price"] = "0";
                dr["picurl"] = "image\\6.png";
                ds.Tables[0].Rows.Add(dr);
                if (ds.HasChanges())    //如果ds集合发生改变
                {
                    sda.Update(ds);    //更新数据
                } 
                GridView1.DataSource = ds;    //指定数据源   
                GridView1.DataBind();   //绑定数据
            }
        }

结果如下所示:

第三、修改数据:

public void DoSqlData()
        {
            using (SqlConnection sqlconn = new SqlConnection(sqlStr))
            {
                string str = "select * from PicInfos";   //sql查询语句
                SqlDataAdapter sda = new SqlDataAdapter(str, sqlconn);
                DataSet ds = new DataSet();        //建立一个DataSet集合
                sda.Fill(ds);             //将查询的结果存放在DataSet集合中 
   
                SqlCommandBuilder acb = new SqlCommandBuilder(sda);
                ds.Tables[0].Rows[12]["Content"] = "我改的是第12行数据的【内容】新数据";
                if (ds.HasChanges())
                {
                    sda.Update(ds);
                    ds.AcceptChanges();
                } 
                GridView1.DataSource = ds;    //指定数据源   
                GridView1.DataBind();   //绑定数据
            }
        }

结果如下是所示:

第四、删除数据:

public void DoSqlData()
        {
            using (SqlConnection sqlconn = new SqlConnection(sqlStr))
            {
                string str = "select * from PicInfos";   //sql查询语句
                SqlDataAdapter sda = new SqlDataAdapter(str, sqlconn);
                DataSet ds = new DataSet();        //建立一个DataSet集合
                sda.Fill(ds);             //将查询的结果存放在DataSet集合中 

                SqlCommandBuilder acb = new SqlCommandBuilder(sda);
                ds.Tables[0].Rows[13].Delete();  //删除第13行的数据
                if (ds.HasChanges())
                {
                    sda.Update(ds);
                    ds.AcceptChanges();
                } 
                GridView1.DataSource = ds;    //指定数据源   
                GridView1.DataBind();   //绑定数据
            }
        }

结果如下所示:

注意:ds.Tables[0].Rows[13]的行数是从0开始的。

写写博客,方便自己也方便别人!

posted @ 2015-07-07 15:56  会编程的厨子  阅读(374)  评论(0编辑  收藏  举报