`
fastwind
  • 浏览: 324340 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

C#SQL数据库操作类

阅读更多

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace MyCorporation.DepartMent.DataBase
{
/// <summary>
/// 通用数据库类srxljl
/// </summary>
public class DataBase
{

    private string ConnStr = null;

    public DataBase()
    {
     ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
    }
    public DataBase(string Str)
    {
     try
     {
      this.ConnStr = Str;

     }
     catch(Exception ex)
     {
      throw ex;
     }
    }

    /// <summary>
    /// 返回connection对象srxljl
    /// </summary>
    /// <returns></returns>
    public SqlConnection ReturnConn()
    {
     SqlConnection Conn = new SqlConnection(ConnStr);
     Conn.Open();
     return Conn;
    }
    public void Dispose(SqlConnection Conn)
    {
     if(Conn!=null)
     {
      Conn.Close();
      Conn.Dispose();
     }
     GC.Collect();
    }
    /// <summary>
    /// 运行SQL语句
    /// </summary>
    /// <param name="SQL"></param>
    public void RunProc(string SQL)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlCommand Cmd ;
     Cmd = CreateCmd(SQL, Conn);
     try
     {
      Cmd.ExecuteNonQuery();
     }
     catch
     {
      throw new Exception(SQL);
     }
     Dispose(Conn);
     return;
    }    

    /// <summary>
     /// 运行SQL语句返回DataReadersrxljl
    /// </summary>
      /// <param name="SQL"></param>
      /// <returns>SqlDataReader对象.</returns>
    public SqlDataReader RunProcGetReader(string SQL)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlCommand Cmd ;
     Cmd = CreateCmd(SQL, Conn);
     SqlDataReader Dr;
     try
     {
      Dr = Cmd.ExecuteReader(CommandBehavior.Default);
     }
     catch
     {
      throw new Exception(SQL);
     }
     //Dispose(Conn);
     return Dr;
    }

    /// <summary>
    /// 生成Command对象srxljl
    /// </summary>
    /// <param name="SQL"></param>
    /// <param name="Conn"></param>
    /// <returns></returns>
    public SqlCommand CreateCmd(string SQL, SqlConnection    Conn)
    {
     SqlCommand Cmd ;
     Cmd = new SqlCommand(SQL, Conn);
     return Cmd;
    }
  
    /// <summary>
    /// 生成Command对象
    /// </summary>
    /// <param name="SQL"></param>
    /// <returns></returns>
    public SqlCommand CreateCmd(string SQL)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlCommand Cmd ;
     Cmd = new SqlCommand(SQL, Conn);
     return Cmd;
    }

    /// <summary>
    /// 返回adapter对象srxljl
    /// </summary>
    /// <param name="SQL"></param>
    /// <param name="Conn"></param>
    /// <returns></returns>
    public SqlDataAdapter CreateDa(string SQL)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlDataAdapter Da;
     Da = new SqlDataAdapter(SQL, Conn);
     return Da;
    }

    /// <summary>
    /// 运行SQL语句,返回DataSet对象srxljl
    /// </summary>
    /// <param name="procName">SQL语句</param>
    /// <param name="prams">DataSet对象</param>
    public DataSet RunProc(string SQL ,DataSet Ds)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlDataAdapter Da;
     //Da = CreateDa(SQL, Conn);
     Da = new SqlDataAdapter(SQL,Conn);
     try
     {
      Da.Fill(Ds);
     }
     catch(Exception Err)
     {
      throw Err;
     }
     Dispose(Conn);
     return Ds;
    }

    /// <summary>
    /// 运行SQL语句,返回DataSet对象srxljl
    /// </summary>
    /// <param name="procName">SQL语句</param>
    /// <param name="prams">DataSet对象</param>
    /// <param name="dataReader">表名</param>
    public DataSet RunProc(string SQL ,DataSet Ds,string tablename)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlDataAdapter Da;
     Da = CreateDa(SQL);
     try
     {
      Da.Fill(Ds,tablename);
     }
     catch(Exception Ex)
     {
      throw Ex;
     }
     Dispose(Conn);
     return Ds;
    }

    /// <summary>
    /// 运行SQL语句,返回DataSet对象srxljl
    /// </summary>
    /// <param name="procName">SQL语句</param>
    /// <param name="prams">DataSet对象</param>
    /// <param name="dataReader">表名</param>
    public DataSet RunProc(string SQL , DataSet Ds ,int    StartIndex ,int PageSize, string tablename )
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlDataAdapter Da ;
     Da = CreateDa(SQL);
     try
     {
      Da.Fill(Ds, StartIndex, PageSize, tablename);
     }
     catch(Exception Ex)
     {
      throw Ex;
     }
     Dispose(Conn);
     return Ds;
    }

    /// <summary>
    /// 检验是否存在数据srxljl
    /// </summary>
    /// <returns></returns>
    public bool ExistDate(string SQL)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlDataReader Dr ;
     Dr = CreateCmd(SQL,Conn).ExecuteReader();
     if (Dr.Read())
     {
      Dispose(Conn);
      return true;
     }
     else
     {
      Dispose(Conn);
      return false;
     }
    }

    /// <summary>
    /// 返回SQL语句执行结果的第一行第一列srxljl
    /// </summary>
    /// <returns>字符串</returns>
    public string ReturnValue(string SQL)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     string result;
     SqlDataReader Dr ;
     try
     {
      Dr = CreateCmd(SQL,Conn).ExecuteReader();
      if (Dr.Read())
      {
       result = Dr[0].ToString();
       Dr.Close();
      }
      else
      {
       result = "";
       Dr.Close();
      }
     }
     catch
     {
      throw new Exception(SQL);
     }
     Dispose(Conn);
     return result;
    }

    /// <summary>
    /// 返回SQL语句第一列,第ColumnI列,srxljl
    /// </summary>
    /// <returns>字符串</returns>
    public string ReturnValue(string SQL, int ColumnI)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     string result;
     SqlDataReader Dr ;
     try
     {
      Dr = CreateCmd(SQL,Conn).ExecuteReader();
     }
     catch
     {
      throw new Exception(SQL);
     }
     if (Dr.Read())
     {
      result = Dr[ColumnI].ToString();
     }
     else
     {
      result = "";
     }
     Dr.Close();
     Dispose(Conn);
     return result;
    }

    /// <summary>
    /// 生成一个存储过程使用的sqlcommand.
    /// </summary>
    /// <param name="procName">存储过程名.</param>
    /// <param name="prams">存储过程入参数组.</param>
    /// <returns>sqlcommand对象.</returns>
    public SqlCommand CreateCmd(string procName, SqlParameter[] prams)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlCommand Cmd = new SqlCommand(procName, Conn);
     Cmd.CommandType = CommandType.StoredProcedure;
     if (prams != null)
     {
      foreach (SqlParameter parameter in prams)
      {
       if(parameter != null)
       {
        Cmd.Parameters.Add(parameter);
       }
      }
     }
     return Cmd;
    }

    /// <summary>
    /// 为存储过程生成一个SqlCommand对象srxljl
    /// </summary>
    /// <param name="procName">存储过程名</param>
    /// <param name="prams">存储过程参数</param>
    /// <returns>SqlCommand对象</returns>
    private SqlCommand CreateCmd(string procName, SqlParameter[] prams,SqlDataReader Dr)
    {
     SqlConnection Conn;
     Conn = new SqlConnection(ConnStr);
     Conn.Open();
     SqlCommand Cmd = new SqlCommand(procName, Conn);
     Cmd.CommandType = CommandType.StoredProcedure;
     if (prams != null)
     {
      foreach (SqlParameter parameter in prams)
       Cmd.Parameters.Add(parameter);
     }
     Cmd.Parameters.Add(
      new SqlParameter("ReturnValue", SqlDbType.Int, 4,
      ParameterDirection.ReturnValue, false, 0, 0,
      string.Empty, DataRowVersion.Default, null));

     return Cmd;
    }

    /// <summary>
    /// 运行存储过程,返回.srxljl
    /// </summary>
    /// <param name="procName">存储过程名</param>
    /// <param name="prams">存储过程参数</param>
    /// <param name="dataReader">SqlDataReader对象</param>
    public void RunProc(string procName, SqlParameter[] prams, SqlDataReader Dr)
    {

     SqlCommand Cmd = CreateCmd(procName, prams, Dr);
     Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
     return;
    }

    /// <summary>
    /// 运行存储过程,返回.srxljl
    /// </summary>
    /// <param name="procName">存储过程名</param>
    /// <param name="prams">存储过程参数</param>
    public string RunProc(string procName, SqlParameter[] prams)
    {
     SqlDataReader Dr;
     SqlCommand Cmd = CreateCmd(procName, prams);
     Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
     if(Dr.Read())
     {
      return Dr.GetValue(0).ToString();
     }
     else
     {
      return "";
     }
    }

    /// <summary>
    /// 运行存储过程,返回dataset.srxljl
    /// </summary>
    /// <param name="procName">存储过程名.</param>
    /// <param name="prams">存储过程入参数组.</param>
    /// <returns>dataset对象.</returns>
    public DataSet RunProc(string procName,SqlParameter[] prams,DataSet Ds)
    {
     SqlCommand Cmd = CreateCmd(procName,prams);
     SqlDataAdapter Da = new SqlDataAdapter(Cmd);
     try
     {
      Da.Fill(Ds);
     }
     catch(Exception Ex)
     {
      throw Ex;
     }
     return Ds;
    }

}
}

分享到:
评论

相关推荐

    C#SQL 数据库操作类代码

    C# SQL 数据库操作类是指通过C#语言编写的数据库操作类,可以直接连接SQL数据库,并进行数据的更新、查询等操作。该类提供了构造函数初始化连接字符串、插入数据、查询数据等方法,方便开发者快速实现数据库操作。 ...

    c# sql数据库操作类 增删改查

    本篇文章将详细讲解如何创建一个C# SQL数据库操作类,实现增(Insert)、删(Delete)、改(Update)和查(Select)这四大基本功能。我们将以Dataset作为默认的数据接收容器,因为它可以方便地处理多条查询结果。 ...

    C#SQL数据库操作类[文].pdf

    本文档将深入解析标题为"C#SQL数据库操作类[文].pdf"的内容,主要涵盖C#语言如何通过ADO.NET库与SQL数据库进行交互,包括连接数据库、执行SQL语句、处理结果集等关键操作。 首先,我们看到代码中定义了一个名为`...

    SQL数据库类 C#SQL数据库源码 C#SQL数据库源 SQL数据库访问 C#ACCESS数据库操作

    SQL数据库类 C#SQL数据库源码 C#SQL数据库源 SQL数据库访问 C#ACCESS数据库操作

    c#sql数据库操作

    以上就是C#进行SQL数据库操作的基本步骤,包括了连接数据库、添加数据和查询数据。在实际项目中,为了提高代码的可维护性和复用性,通常会封装成仓储类或者使用ORM框架如Entity Framework。这些高级技术使得开发者能...

    C# ACCESS 数据库操作类

    "C# ACCESS 数据库操作类"是一个自定义的C#类,设计用来简化对Access数据库的增、删、改、查等操作。这个类通常封装了ADO.NET的核心组件,如Connection、Command、DataAdapter和DataSet,使得代码更加模块化和易于...

    C# sql数据库自动备份并压缩(源码)

    标题 "C# sql数据库自动备份并压缩(源码)" 提供了一个关键的IT知识点,即如何使用C#编程语言来创建一个SQL数据库的自动备份功能,并且这个备份过程还包含了数据压缩的步骤。这个工具对于数据库管理员或者软件开发者...

    C#SQL数据库操作通用类

    C#SQL数据库操作通用类,运行SQL语句。 运行SQL语句返回DataReader,SqlDataReader对象;生成Command对象;返回adapter对象;运行SQL语句,返回DataSet对象;返回SQL语句执行结果的第一行第一列;返回SQL语句第一列,...

    C# sqlserver数据库操作封装类

    C#的sqlserver数据库操作封装类,封装了sql语句的查询、修改、插入、删除操作,以及存储过程的执行,包括有输入、输出参数的存储过程,存储过程的执行无需输入任何参数名称,只需输入参数值即可。同时封装了大批量...

    数据库操作通用类(C#)

    在C#中,实现数据库操作通用类是为了提高代码的复用性和灵活性,使其能够适应不同的数据库系统,如MySQL、SQL Server、Oracle或SQLite等。本篇文章将详细探讨如何创建一个数据库操作通用类,并涵盖其核心组件和功能...

    c#SQL数据库课程设计 整合版

    这个“c#SQL数据库课程设计整合版”覆盖了多个实际应用场景,包括学生信息管理系统、企业人事管理系统、库存管理系统以及图书馆系统。这些项目提供了丰富的实践机会,帮助开发者更好地理解和掌握C#与SQL数据库的交互...

    C# SQL Server数据库操作DLL

    这个压缩包"**C# SQL Server数据库操作DLL**"提供了一种便捷的方式,通过一个动态链接库(DLL)来处理这些操作,免去了手动编写大量基础数据库访问代码的麻烦。DLL(DBClass.dll)封装了对SQL Server数据库的基本...

    C#数据库操作类,C#数据库操作类

    C#数据库操作类是用来连接、查询、插入、更新和删除数据库中的数据的一系列自定义类或方法。这些类通常封装了ADO.NET(.NET Framework的数据访问组件)中的基本操作,以提供更方便、更安全的数据库访问方式。 以下...

    c#数据库sqlserver连接公共类的实现

    当完成数据库操作后,应该及时关闭连接以释放资源。可以使用`Close()`方法或`Dispose()`方法来关闭连接。 ```csharp public void Close() { if (connection.State == ConnectionState.Open) { connection....

    C#版Oracle数据库通用操作类

    ### C# 版 Oracle 数据库通用操作类解析 在现代软件开发中,数据库操作是必不可少的一部分,而 C# 结合 Oracle 数据库的应用尤为广泛。本文将深入探讨一个用于简化 Oracle 数据库操作的 C# 类——`ConnForOracle`。...

    C#操作SqlServer数据库封装类

    C#操作sql server 的类分装,用于大部分的操作,修改,删除,添加,存储过程等等。

    C#数据库操作类

    本篇文章将详细探讨“C#数据库操作类”的核心概念和功能,以及如何使用它来连接和操作不同类型的数据库。 首先,标题中的"C#数据库操作类"指的是一个专门设计用于简化C#中数据库交互的自定义类。这类类通常封装了...

    C#连接SqlServer数据库帮助类,SqlServerHelp

    `SqlServerHelp`类可能封装了这些组件,提供了一种更加方便的API来执行常见的数据库操作。 1. **数据库连接**: 在C#中,使用SqlConnection对象来建立和管理到SQL Server的连接。在`SqlServerHelp`类中,可能会有一...

    C# 数据库操作类 万能参数sql

    "C# 数据库操作类 万能参数sql"是一个设计用于简化和增强数据库操作的工具,它的主要目标是自动化处理参数化SQL,以提高安全性并提升性能。这种类库通常会提供一套API,使得程序员可以便捷地构造和执行带有参数的SQL...

Global site tag (gtag.js) - Google Analytics