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

(0)

相关推荐

  • C#访问SQL Server数据库的实现方法

    本文实例讲述了C#访问SQL Server数据库的实现方法.分享给大家供大家参考.具体如下: 这里介绍一下用C#访问SQL Server数据库.这里要涉及到几个类:SqlConnection类.SqlCommand类.SqlDataReader类. SqlConnection类用于建立与数据库的连接,SqlCommand类用于创建SQL命令,SqlDataReader对象是执行SqlCommand对象返回结果集的查询语句后的结果. 下面是部分代码: /*其中server表示服务器,"."

  • C#实现连接SQL Server2012数据库并执行SQL语句的方法

    本文实例讲述了C#实现连接SQL Server2012数据库并执行SQL语句的方法.分享给大家供大家参考,具体如下: 开发工具:Visual Studio 2012 数据库: SQL Server 2012 使用Visual Studio时还是直接和微软自家的SQL Server数据库连接比较方便,就像使用Eclipse时和MySQL连接便捷一样的道理 无论使用什么工具步骤都一样: 1. 首先保证相关工具都已经正确安装了 2. 开启数据库连接服务 3. 在开发工具中通过用户名和口令与数据库进行关

  • C#查询SqlServer数据库并返回单个值的方法

    本文实例讲述了C#查询SqlServer数据库并返回单个值的方法.分享给大家供大家参考.具体实现方法如下: static public string GetSqlAsString(string sqlText, SqlParameter[] sqlParameters, string databaseConnectionString) { string result = ""; SqlDataReader reader; SqlConnection connection = new S

  • c#几种数据库的大数据批量插入(SqlServer、Oracle、SQLite和MySql)

    在之前只知道SqlServer支持数据批量插入,殊不知道Oracle.SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法. 首先说一下,IProvider里有一个用于实现批量插入的插件服务接口IBatcherProvider,此接口在前一篇文章中已经提到过了. /// <summary> /// 提供数据批量处理的方法. /// </summary> public interface IBatch

  • c#操作sqlserver数据库的简单示例

    1.在用windows模式登陆sql server 数据库 简历一个student的数据库,然后新建查询: 复制代码 代码如下: create table student( id     int  auto_increment  primary key, name char(10) not null, sex    char(10) not null, age   char(10) not null,   ) 2.在vs中新建一个项目,输入一下代码: 复制代码 代码如下: using Syste

  • C#实现Excel表数据导入Sql Server数据库中的方法

    本文实例讲述了C#实现Excel表数据导入Sql Server数据库中的方法.分享给大家供大家参考,具体如下: Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nvarchar类型, tt nvarchar类型 (注意:my_test表中的数据类型必须与Excel中相应字段的类型一致) 2. 我们用SELECT * FROM  OPENROWSET(

  • C#编程实现连接SQL SERVER数据库实例详解

    本文实例讲述了C#编程实现连接SQL SERVER数据库.分享给大家供大家参考,具体如下: 首先,在SQL SEVER里建立一个名为"Exercise"的数据库名,在该数据库下建立一张名为"lianxi"的表.好,现在开始写代码. 在FORM1里拖一个DATAGIRDVIEW用于显示表,在放一个BUTTON用于执行操作.加入命名空间 复制代码 代码如下: using system.data.sqlclient; private void button1_Click(

  • C#连接到sql server2008数据库的实例代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: namespace MyFirstApp { class Program { static void Main(string[] args) { SqlConnection conn = null; SqlCommand comm = null; SqlDataReader sdreader = null; try { string ConStr = "server=192.168.1.110;uid=sa;pwd=woaifr0828;da

  • C#实现异步连接Sql Server数据库的方法

    本文实例讲述了C#实现异步连接Sql Server数据库的方法.分享给大家供大家参考.具体分析如下: .net最新版提供了await方法,可以使我们可以很容易实现到数据库的异步连接 复制代码 代码如下: readonly string ConnectionString = "Data Source=database_server_name;Initial Catalog=Store;Integrated Security=True"; protected async void Exec

  • c#连接sqlserver数据库、插入数据、从数据库获取时间示例

    c#连接sqlserver.插入数据.从数据库获取时间 复制代码 代码如下: using System;using System.Data.SqlClient; namespace Test{    //连接数据库    public class Connection    {        private static string connectionString =            "Server = 192.168.1.222;" +            "D

  • C#获取所有SQL Server数据库名称的方法

    本文实例讲述了C#获取所有SQL Server数据库名称的方法.分享给大家供大家参考.具体如下: 连接到master库中,执行 select name from master..sysdatabases . sp_helpdb也可以列出数据名,但不是全部,sp_helpdb是会根据当前用户角色找出相应的数据库,而用sysdatabases表则只要有权限访问该表就能查出所有数据库信息. 默认情况下,sqlserver提供的6个数据库中,除了model数据库外,其他若干个数据库还可能拥有guest用

随机推荐