zoukankan      html  css  js  c++  java
  • 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开始的。

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

  • 相关阅读:
    【最短路】The 2019 Asia Nanchang First Round Online Programming Contest Fire-Fighting Hero (Dijkstra)
    【积累】The 2019 Asia Nanchang First Round Online Programming Contest The Nth Item (矩阵快速幂 k进制快速幂)
    【线段树】The Preliminary Contest for ICPC Asia Xuzhou 2019 Colorful String(回文树+线段树+状压/bitset)
    allure参数说明及代码示例
    Idea+maven+testng+reportng生成测试报告
    ubuntu 16.04 镜像下载
    new AndroidDriver报错java.lang.NoSuchMethodError: com.google.common.base.Throwables.throwIfUnchecked
    Appium常用的API
    Appium常用的定位方法
    adb 指令总结
  • 原文地址:https://www.cnblogs.com/Yisijun/p/4627260.html
Copyright © 2011-2022 走看看