`

用C#写的自定义数据库操作类

阅读更多

using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Text;

namespace CardTest1
{
public class DB
{
   public DB()
   {
   }
   private SqlConnection conn;//连接对象
   private SqlCommand cmd;//命令对象
   private SqlDataAdapter sda;//适配器对象
   private SqlDataReader dr;//数据读取器对象
   private DataSet ds;//数据集对象
   private bool m_bool;

   public DB(string connectionString)
   {
    conn = new SqlConnection(connectionString);
   }
   //###########从文件里读取连接字符串################
   public string readerConnectionString()
   {
    string connectionString="";
    StreamReader sr = new StreamReader("connection.txt", Encoding.Default);
    try
    {
     connectionString = sr.ReadToEnd();
    }
    catch { }
    finally
    {
     sr.Close();
    }
    return connectionString;
   }
   public bool isExist(string sql, string table)
   {
    sda = new SqlDataAdapter(sql, conn);
    ds = new DataSet();
    try
    {
     int n = sda.Fill(ds, table);
     if (n > 0)
     {
      m_bool = true;
     }
     else
     {
      m_bool = false;
     }
    }
    catch { }
    return m_bool;
   }
   //################通过传过来的sql语句,返回数据读取器对象#########
   public SqlDataReader dataReader(string sql)
   {
    cmd = new SqlCommand(sql, conn);
    try
    {
     conn.Open();
     dr = cmd.ExecuteReader();
    }
    catch { }
    return dr;
   }
   //##########执行数据,包括插入,删除,修改##########
   public bool excuteData(string sql)
   {
    cmd = new SqlCommand(sql, conn);
    try
    {

     int n = cmd.ExecuteNonQuery();
     if (n > 0)
     {
      m_bool = true;
     }
     else
     {
      m_bool = false;
     }
    }
    catch { }
    finally
    {
     conn.Close();
    }
    return m_bool;
   }
   //###################返回数据集#######################
   public DataSet dataSet(string sql, string table)
   {
    sda = new SqlDataAdapter(sql, conn);
    ds = new DataSet();

    int n = sda.Fill(ds, table);
    if (n > 0)
    {
     return ds;
    }
    else
    {
     return null;
    }

   }
   public bool isExistProcudure(string sql, SqlParameter[] param)
   {
    cmd = new SqlCommand(sql, conn);
    cmd.CommandType = CommandType.StoredProcedure;
    if (param != null)
    {
     foreach (SqlParameter parameter in param)
     {
      cmd.Parameters.Add(parameter);
     }
    }
    try
    {
     conn.Open();
     int n = Convert.ToInt32(cmd.ExecuteScalar());
     if (n >= 0)
     {
      m_bool = true;
     }
     else
     {
      m_bool = false;
     }
    }
    catch { }
    finally
    {
     conn.Close();
    }
    return m_bool;
   }
   //##########执行返回查询结果的存储过程#########
   public SqlDataReader dataReaderProcedure(string procedureName, SqlParameter[] param)
   {
    cmd = new SqlCommand(procedureName, conn);
    cmd.CommandType = CommandType.StoredProcedure;
    if (param != null)
    {
     foreach (SqlParameter parameter in param)
     {
      cmd.Parameters.Add(parameter);
     }
    }
    try
    {
     conn.Open();
     dr = cmd.ExecuteReader();
    }
    catch { }
    return dr;
   }
   //#############通过传过来的存储过程,返回数据集##################
   public DataSet dataSetPrucedure(string procdureName, string table)
   {
    cmd = new SqlCommand(procdureName, conn);
    cmd.CommandType = CommandType.StoredProcedure;
    sda = new SqlDataAdapter();
    sda.SelectCommand = cmd;
    ds = new DataSet();
    int n = sda.Fill(ds, table);
    if (n > 0)
    {
     return ds;
    }
    else
    {
     return null;
    }
   }
   //#############执行更新,返回布尔型的存储过程#####
   public bool isSuccessfulPrucedure(string procedureName, SqlParameter[] param)
   {
    cmd = new SqlCommand(procedureName, conn);
    cmd.CommandType = CommandType.StoredProcedure;
    if (param != null)
    {
     foreach (SqlParameter parameter in param)
     {
      cmd.Parameters.Add(parameter);
     }
    }
    try
    {
     conn.Open();
     int n = cmd.ExecuteNonQuery();
     if (n > 0)
     {
      m_bool = true;
     }
     else
     {
      m_bool = false;
     }
    }
    catch { }
    finally
    {
     conn.Close();
    }
    return m_bool;
   }
   public void open()
   {
    if (conn.State == ConnectionState.Closed)
    {
     try
     {
      conn.Open();
     }
     catch { }
    }
   }
   public void close()
   {
    if (conn.State == ConnectionState.Open)
    {
     conn.Close();
    }
   }
}
}

分享到:
评论

相关推荐

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

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

    C# ACCESS 数据库操作类

    总结来说,"C# ACCESS 数据库操作类"是一个用于简化C#程序中与Access数据库交互的自定义类,它通过封装ADO.NET组件提供了高效且易于使用的数据库操作接口。"AccessHelper.cs"文件包含了实现这些功能的源代码,是理解...

    C#数据库操作类

    首先,标题中的"C#数据库操作类"指的是一个专门设计用于简化C#中数据库交互的自定义类。这类类通常封装了连接数据库、执行SQL语句、处理结果集等复杂任务,使开发者能更高效地进行数据库操作。它通过提供统一的接口...

    c#自定义异步操作数据库示例

    总结起来,C#自定义异步操作数据库涉及的关键点包括: 1. 使用`async`和`await`关键字进行异步编程。 2. 封装数据库操作,如使用`SqlConnection`和`SqlCommand`。 3. 正确管理数据库连接,包括打开、关闭和连接池。...

    (C#)Oracle数据库操作类(操作sql语句)

    OracleHelper类是专门设计用于执行SQL语句和管理Oracle数据库操作的静态类。以下是对该类及其方法的详细解释: 1. **数据库连接字符串**: `connstr`变量存储了从应用程序配置文件中获取的数据库连接字符串。`...

    C# MySQL数据库操作类库 含源码

    C#写的一个类库 其中可以对MySQL数据库进行数据库的创建/删除,对表的创建删除,同时还有增删改查功能,是源码

    c#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle)

    在现代软件开发中,数据持久化是至关重要的一个环节,而数据库操作作为数据持久化的基础,其效率和可维护性直接影响到整个应用程序的性能和稳定性。本文将深入探讨一个在C#.NET环境中设计的通用数据库访问封装类,该...

    C#中自定义SQLHelper类封装数据库操作方法

    内容概要:本文详细介绍了作者自定义的一个C# SQLHelper类,这个类主要用于简化对SQL Server数据库的操作。文中包含了几个重要的函数实现介绍,如执行简单的SQL命令并获取结果的第一行第一列值(ExecSQL)、执行SQL...

    C#数据库表转实体类

    8. **异步操作**:现代应用程序常常需要处理大量并发请求,因此,使用C#的async/await关键字进行异步数据库操作是必要的,这可以提高应用程序的性能和响应性。 9. **数据库迁移**:当数据库结构发生变化时,如增加...

    数据库操作类和自定义类

    在这个场景中,我们将主要关注C#语言下的数据库操作类和自定义类。 首先,数据库操作类通常用于封装对数据库的CRUD(创建、读取、更新、删除)操作。这些类通常基于ADO.NET库,如`SqlConnection`、`SqlCommand`、`...

    C# .net数据库表实体类生成,一键生成数据库所有表的实体类

    在.NET开发环境中,Entity Framework(简称EF)是一个强大的对象关系映射(ORM)框架,它允许开发者使用C#或VB.NET等高级语言来操作数据库,而无需直接编写SQL语句。然而,在.NET Core中,虽然EF Core提供了模型构建...

    C#写的自定义安装包,打包程序源代码

    这里,我们聚焦于使用C#语言来编写这样的自定义安装包,这涉及到编程、打包技术以及软件部署策略。 C#是一种强大的面向对象的编程语言,由微软开发,广泛应用于Windows平台上的应用程序开发。在C#中,我们可以利用...

    C#常用类大全(包括数据库操作类)

    1. **数据库操作类**: - `SqlHelper`:这是一个非常实用的类,用于简化数据库访问。它通常封装了ADO.NET中的`SqlConnection`、`SqlCommand`等对象,提供了执行SQL语句(包括存储过程)的方法,如`ExecuteNonQuery`...

    .net C# 数据库访问类

    总结来说,".NET C# 数据库访问类"是C#开发中用于简化数据库操作的工具,它们封装了与数据库交互的复杂性,提供统一的接口。DAR.DataAccess这个库很可能是一个多数据库支持的解决方案,能够帮助开发者更高效地管理...

    C#WinForm实例数据库操作(报价单管理)

    在本文中,我们将深入探讨如何使用C# WinForm进行数据库操作,特别是在报价单管理方面的实践。C# WinForm是一个强大的Windows应用程序开发平台,它允许开发者创建具有丰富用户界面的桌面应用,而数据库操作是此类...

    C#数据库实体类生成工具

    总结来说,“C#数据库实体类生成工具”是一款全面、高效的开发辅助工具,它覆盖了多种数据库系统,提供了便捷的表名检索和批量生成功能,是C#开发者进行数据库操作时的理想选择。无论你是初学者还是经验丰富的开发者...

    C#总结:DBHelper类,连接数据库

    DBHelper类是C#中进行数据库操作的一种常用方式,它简化了数据库连接和操作,提高了代码的复用性。在实际项目中,结合具体的业务需求,可以扩展DBHelper类以支持更多功能,如事务处理、分页查询等。同时,了解和掌握...

    C#语言和数据库作业及答案

    通过解决压缩包中的作业和选择题,学习者可以检验自己的理解和应用能力,同时加深对C#编程和数据库操作的理解。这种实践性的学习方式有助于将理论知识转化为实际技能,是成为合格的IT专业人员的关键步骤。 总之,...

Global site tag (gtag.js) - Google Analytics