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数据库的增删改查的实现代码,希望对大家的学习有所帮助。

相关文章

  • C#快速排序算法实例分析

    C#快速排序算法实例分析

    这篇文章主要介绍了C#快速排序算法,实例分析了C#排序方法的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 用C#编写ActiveX控件(二)

    用C#编写ActiveX控件(二)

    用C#编写ActiveX控件(二)...
    2007-03-03
  • C#设计模式之ChainOfResponsibility职责链模式解决真假美猴王问题实例

    C#设计模式之ChainOfResponsibility职责链模式解决真假美猴王问题实例

    这篇文章主要介绍了C#设计模式之ChainOfResponsibility职责链模式解决真假美猴王问题,简单说明了责任链模式的概念,并结合《西游记》中真假美猴王故事背景为实例分析了责任链模式的具体使用技巧,需要的朋友可以参考下
    2017-09-09
  • C#中is与as的区别分析

    C#中is与as的区别分析

    这篇文章主要介绍了C#中is与as的区别,较为详细的分析了is与as的原理与特性及用法区别,具有很好的学习借鉴价值,需要的朋友可以参考下
    2014-10-10
  • 在C#中创建和读取XML文件的实现方法

    在C#中创建和读取XML文件的实现方法

    项目中需要将前台页面中的信息保存下来并存储为xml文件格式到数据库中去。因此我先在这里通过一个小实例来学习xml的创建与读取
    2013-09-09
  • 动态改变gridview列宽度函数分享

    动态改变gridview列宽度函数分享

    通常用GridView绑定datatable,由于需要动态绑定到不同的datatable所以需要动态调整GridView的宽度。写了这个函数实现该功能
    2014-01-01
  • C#中new的几种用法详解

    C#中new的几种用法详解

    本文主要介绍了C#中new的几种用法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • C#调用百度API实现活体检测的方法

    C#调用百度API实现活体检测的方法

    这篇文章主要给大家介绍了关于C#调用百度API实现活体检测的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • C#使用kernel32.dll读写INI文件的案例详解

    C#使用kernel32.dll读写INI文件的案例详解

    INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,主要存放的是用户所做的选择或系统的各种参数,这篇文章主要介绍了C#使用kernel32.dll读写INI文件的方法,需要的朋友可以参考下
    2023-05-05
  • C#函数式编程中的递归调用之尾递归详解

    C#函数式编程中的递归调用之尾递归详解

    这篇文章主要介绍了C#函数式编程中的递归调用详解,本文讲解了什么是尾递归、尾递归的多种方式、尾递归的代码实例等内容,需要的朋友可以参考下
    2015-01-01

最新评论