欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-16 23:29:52
一个专门实现sql server数据库的增删改查,以及将查询的结果返回成表格等功能,分享代码如下 using system; using system.coll...

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