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

作者:我只是一只小小鸟 时间:2024-01-18 06:49:09 

一个专门实现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;

}

}
标签:C#,sql,server,增删改查
0
投稿

猜你喜欢

  • Python 递归式实现二叉树前序,中序,后序遍历

    2022-09-22 17:38:32
  • Python使用内置函数setattr设置对象的属性值

    2021-10-09 20:32:44
  • Python如何获取文件指定行的内容

    2023-08-13 09:45:37
  • python中判断数字是否为质数的实例讲解

    2022-02-17 13:19:05
  • Python操作json的方法实例分析

    2022-10-13 10:39:09
  • 小三角的做法与使用

    2008-10-08 10:25:00
  • Python OpenCV对图像进行模糊处理详解流程

    2022-05-16 03:54:19
  • python通过txt文件批量安装依赖包的实现步骤

    2022-05-10 23:26:14
  • MySQL数据库优化详解

    2024-01-23 12:51:55
  • pytorch K折交叉验证过程说明及实现方式

    2021-01-11 16:05:08
  • python使用socket实现图像传输功能

    2023-08-30 17:10:17
  • MySQL数据库用户权限管理

    2024-01-19 00:29:18
  • js 返回 utf-8 字符编码是多少个字节, 函数 fUtf8BoundCheck

    2010-07-31 18:59:00
  • python+Django实现防止SQL注入的办法

    2022-05-22 13:13:13
  • SQL Server UPDATE语句的用法详解

    2024-01-17 06:39:23
  • CSS在Internet Explorer 6, 7 和8中的差别

    2009-10-26 18:14:00
  • python 移动图片到另外一个文件夹的实例

    2022-09-17 07:56:14
  • mysql实现事务的提交和回滚实例

    2024-01-23 04:13:12
  • mysql巡检脚本(必看篇)

    2024-01-22 07:24:54
  • MySQL 复制表详解及实例代码

    2024-01-22 22:49:16
  • asp之家 网络编程 m.aspxhome.com