C#如何实现对sql server数据库的增删改查

 更新时间:2022年01月24日 16:09:10   作者:我只是一只小小鸟  
本文的主要内容是C#实现对sql server数据库的增删改查,示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一个专门实现sql server数据库的增删改查,以及将查询的结果返回成表格等功能,分享代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;//第一步:引用与sql相关的命名空间
using System.Data;//引用表的命名空间
 
//行注释 ///段落注释
/// <summary>
///第二步: 把命名空间删掉,使得我们在以后的开发中不用去创建一个sqlhelper类的对象和引用它的命名空间。实现直接调用
/// </summary>
//第三步:在class前面加上一个public 实现我们可以在dal的任何地方中去调用它。
//public 叫公共类 它的访问权限是最大的。 如果在class前面加上了它的话,那么这个类我们可以在当前的类库中任意调用。
public class SqlHelper
{
 //第四步:我们想要直接调用sqlHelper类,删除命名空间是不够的,我们还要把里面的方法和字段全部设置为静态。
 public static string connstr = "server=.;uid=sa;pwd=sa;database=rj1301";//公共的静态的 连接字符串
 public static int ExecuteScalar(string cmdText, params SqlParameter[] pms)
 {
  //params:不限长度的数组
  //第一步:创建数据库对象连接
  SqlConnection conn = new SqlConnection(connstr);
  //第二步:打开数据库
  conn.Open();
  //第三步:创建数据库命令对象和数据库查询语句
  SqlCommand cmd = new SqlCommand(cmdText, conn);
  //第四步:创建参数对象
  //cmd.Parameters.Add(pms);//如果我们在这里直接放入pms数组,那么cmd添加进去的都是SqlParameter,而不是具体的参数。
 
 
  // int[] ii = new int[5] { 1,2,3,4,5 };
  if (pms != null)
  {
 
   //for (int i = 0; i <pms.Length; i++)
   //{
   // if (pms[i]!=null)
   // {
   //  cmd.Parameters.Add(pms[i]); 
   // }
 
   //}
   foreach (SqlParameter item in pms)//第一个参数:你的数据类型 //第二个参数是值 //第三个参数:in 在什么什么里面 //第四个参数 数组的名称
   {
    if (item != null)
    {
     cmd.Parameters.Add(item);
    }
   }
  }
  //第五步:返回结果
  int i = Convert.ToInt32(cmd.ExecuteScalar());
  //第六步:关闭数据库
  conn.Close();
  //第六步:把最终的结果返回到外面去
  return i;
 }
 public static int ExecuteNonQuery(string cmdText, params SqlParameter[] pms)
 {
  //params:不限长度的数组
  //第一步:创建数据库对象连接
  SqlConnection conn = new SqlConnection(connstr);
  //第二步:打开数据库
  conn.Open();
  //第三步:创建数据库命令对象和数据库查询语句
  SqlCommand cmd = new SqlCommand(cmdText, conn);
  //第四步:创建参数对象
  //cmd.Parameters.Add(pms);//如果我们在这里直接放入pms数组,那么cmd添加进去的都是SqlParameter,而不是具体的参数。
 
 
  // int[] ii = new int[5] { 1,2,3,4,5 };
  if (pms != null)
  {
 
   //for (int i = 0; i <pms.Length; i++)
   //{
   // if (pms[i]!=null)
   // {
   //  cmd.Parameters.Add(pms[i]); 
   // }
 
   //}
   foreach (SqlParameter item in pms)//第一个参数:你的数据类型 //第二个参数是值 //第三个参数:in 在什么什么里面 //第四个参数 数组的名称
   {
    if (item != null)
    {
     cmd.Parameters.Add(item);
    }
   }
  }
  //第五步:返回结果
  int i = Convert.ToInt32(cmd.ExecuteNonQuery());
  //第六步:关闭数据库
  conn.Close();
  //第六步:把最终的结果返回到外面去
  return i;
 }
 //返回一张表
 public static DataTable GetTable(string cmdText, params SqlParameter[] pms)
 {
  //params:不限长度的数组
  //第一步:创建数据库对象连接
  SqlConnection conn = new SqlConnection(connstr);
  //第二步:打开数据库
  conn.Open();
  //第三步:创建数据库命令对象和数据库查询语句
  SqlCommand cmd = new SqlCommand(cmdText, conn);
  //第四步:创建参数对象
  //cmd.Parameters.Add(pms);//如果我们在这里直接放入pms数组,那么cmd添加进去的都是SqlParameter,而不是具体的参数。
 
 
  // int[] ii = new int[5] { 1,2,3,4,5 };
  if (pms != null)
  {
 
   //for (int i = 0; i <pms.Length; i++)
   //{
   // if (pms[i]!=null)
   // {
   //  cmd.Parameters.Add(pms[i]); 
   // }
 
   //}
   foreach (SqlParameter item in pms)//第一个参数:你的数据类型 //第二个参数是值 //第三个参数:in 在什么什么里面 //第四个参数 数组的名称
   {
    if (item != null)
    {
     cmd.Parameters.Add(item);
    }
   }
  }
  //5. SqlDataAdapter是.net中用于存放数组库里面取出来的数 相当于我们现实生活中的容器
  SqlDataAdapter sda = new SqlDataAdapter(cmd);
  //6.去创建一个适配器 用来接受容器的
  DataSet ds = new DataSet();
  sda.Fill(ds,"aa");
  conn.Close();
  DataTable dt = ds.Tables["aa"];
  return dt;
 }
 
 public static SqlDataReader GetReader(string cmdText, params SqlParameter[] pms)
 {
  SqlConnection conn = new SqlConnection(connstr);
  //第二步:打开数据库
  conn.Open();
  //第三步:创建数据库命令对象和数据库查询语句
  SqlCommand cmd = new SqlCommand(cmdText, conn);
  //第四步:创建参数对象
  //cmd.Parameters.Add(pms);//如果我们在这里直接放入pms数组,那么cmd添加进去的都是SqlParameter,而不是具体的参数。
 
 
  // int[] ii = new int[5] { 1,2,3,4,5 };
  if (pms != null)
  {
 
   //for (int i = 0; i <pms.Length; i++)
   //{
   // if (pms[i]!=null)
   // {
   //  cmd.Parameters.Add(pms[i]); 
   // }
 
   //}
   foreach (SqlParameter item in pms)//第一个参数:你的数据类型 //第二个参数是值 //第三个参数:in 在什么什么里面 //第四个参数 数组的名称
   {
    if (item != null)
    {
     cmd.Parameters.Add(item);
    }
   }
  }
  SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//把数据取出来以游标的形式放入sdr
  return sdr;
 
 
 }
 
}

以上就是对sql server数据库的增删改查的实现代码,希望对大家的学习有所帮助。

相关文章

  • unity实现绘画功能

    unity实现绘画功能

    这篇文章主要为大家详细介绍了unity实现绘画功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析

    C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析

    这篇文章主要介绍了C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析,以实例形式较为详细的讲述了.NET Framework里面提供的三种Timer具体用法,需要的朋友可以参考下
    2014-10-10
  • Unity Shader实现线框效果的制作步骤

    Unity Shader实现线框效果的制作步骤

    最近比较忙,今天抽空给大家分享一篇文章,关于Unity Shader实现线框效果,本文给大家分享详细制作步骤,通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-06-06
  • DevExpress实现GridControl列头绘制Checkbox的方法

    DevExpress实现GridControl列头绘制Checkbox的方法

    这篇文章主要介绍了DevExpress实现GridControl列头绘制Checkbox的方法,需要的朋友可以参考下
    2014-08-08
  • C#开发之int与string转化操作

    C#开发之int与string转化操作

    这篇文章主要介绍了C#开发之int与string转化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • C# FileStream文件读写详解

    C# FileStream文件读写详解

    本文主要介绍C#使用 FileStream 读取数据,写入数据等操作,希望能帮到大家。
    2016-04-04
  • Unity实现倒计时组件

    Unity实现倒计时组件

    这篇文章主要介绍了Unity实现倒计时组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • C#对文件名智能排序的算法

    C#对文件名智能排序的算法

    这篇文章介绍了C#对文件名智能排序的算法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • .NET 某云采购平台API 挂死问题解析

    .NET 某云采购平台API 挂死问题解析

    这篇文章主要介绍了.NET 某云采购平台API 挂死问题解析,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • C# 设置系统日期格式的方法

    C# 设置系统日期格式的方法

    公司电脑各式各样的都有,里面的设置也有很多不统一的,我们做软件一般会从系统中获取一些数据,比如日期时间,环境变量的路径参数,可以用批处理文件达到我们所想要的目的,也可以用C#代码
    2013-03-03

最新评论