ADO.NET实现对SQL Server数据库的增删改查示例

(编辑:jimmy 日期: 2024/10/15 浏览:2)

了解了上一篇的ADO.NET简介,我们就可以来对数据库进行增删改查等基本操作了!下面是每种操作的具体实现。

先在自定义类的头部定义好数据库连接对象和连接字符串:

 string connectionString = "Data Source=SC-201607131829;Initial Catalog=Animal;Integrated Security=True";
  SqlConnection conn;

1.数据库的查询操作,返回一个DataTable

 public DataTable doSelect()
    {

      string sql = "select * from detial";

      using (conn = new SqlConnection(connectionString))
      {

        conn.Open();

        SqlDataAdapter da = new SqlDataAdapter(sql, conn);

        DataSet ds = new DataSet();

        da.Fill(ds);  //填充DataSet

        return ds.Tables[0];

      }
    }

2.数据库插入操作,返回布尔值

public bool doInsert(string name, string skin, string weight)
    {

      string sql = "insert into detial(name,skin,weight)values(@name,@skin,@weight)";

      SqlParameter[] newAnimal = {
         new SqlParameter("name",name),
         new SqlParameter("skin",skin),
         new SqlParameter("weight",skin)
      };

      using (conn = new SqlConnection(connectionString))
      {
        SqlCommand com = new SqlCommand(sql, conn);
        try
        {
          if (newAnimal != null)
          {
            foreach (SqlParameter parameter in newAnimal)
            {
              com.Parameters.Add(parameter);

            }
          }
          conn.Open();

          int influence = com.ExecuteNonQuery();

          if (influence > 0)
          {

            return true;
          }
          else
          {

            return false;
          }
        }
        catch (Exception exception)
        {
          return false;
        }
      }
    }

3.数据库删除操作,返回布尔值

public bool doDelete(string name)
    {

      string sql = "delete from detial where name = @name";

      SqlParameter[] deleteParameter = { new SqlParameter("name", name) };

      using (conn = new SqlConnection(connectionString))
      {

        SqlCommand com = new SqlCommand(sql, conn);
        
        try
        {

          if (deleteParameter != null)
          {
            foreach (SqlParameter parameter in deleteParameter)
            {
              com.Parameters.Add(parameter);
            }
            
          }

          conn.Open();

          int influence = com.ExecuteNonQuery();

          if (influence > 0)
          {

            return true;
          }
          else
          {

            return false;
          }
        }
        catch (Exception exception)
        {
          return false;
        }
      }
    }

4.数据库更新操作,返回布尔值

public bool doUpdate(string name , string skin) {

      string sql = "update detial set skin = @skin where name = @name";
      SqlParameter[] updateParameter = {
                    new SqlParameter("name",name),
                    new SqlParameter("skin",skin)
      };

      using (conn = new SqlConnection(connectionString)) {

        SqlCommand com = new SqlCommand(sql,conn);

          try {

            if (updateParameter != null) { 
              
              foreach(SqlParameter parameter in updateParameter){

                com.Parameters.Add(parameter);

              } 
            }

            conn.Open();

            int influence = com.ExecuteNonQuery();

            if (influence > 0)
            {

              return true;
            }
            else
            {

              return false;
            }
          
          }catch(Exception exception){

            return false;
          }
      }

    }


其中为了防止sql注入,用到了SqlParameter类。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?