• 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开始的。

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

  • 相关阅读:
    centos7环境下安装mysql5.6-----解压安装包的方法
    Linux的常用命令
    在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
    springboot下实现邮件发送功能
    centos7环境下开启指定端口
    阿里云开放指定端口
    Nginx的alias的用法及与root的区别
    关于Springboot打包错误的问题 | Failed to execute goal org.springframework.boot:spring-boot-maven-plugin
    怎么简单高效破解MyEclipse10、获取注册码
    git删除远程分支
  • 原文地址:https://www.cnblogs.com/Yisijun/p/4627260.html
Copyright © 2020-2023  润新知