`
shirlly
  • 浏览: 1646533 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

c#数据库连接类

    博客分类:
  • .NET
阅读更多
using System;
using System.Data;
using System.Data.OleDb;
namespace Power_AppCode
{
 public class DataBase
 {
  // 连接数据源
  private OleDbConnection conn = null;
  /// <summary>
  /// 数据源
  /// </summary>
  /// <param name="conStr">数据源连接字符串</param>
  public DataBase(string conStr)
  {
   conn = new OleDbConnection(conStr);
  }
  /// <summary>
  /// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
  /// </summary>
  /// <param name="sql">查询语句</param>
  /// <returns>DataSet</returns>
  public DataSet GetDataSet(string sql)
  {
   DataSet ds = new DataSet();
   try
   {
    OleDbCommand cmd = new OleDbCommand(sql, conn);
    cmd.CommandTimeout = 20;
    System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
    adapter.Fill(ds, "tempTable");
   }
   catch (Exception e)
   {
    ds = null;
   }
   finally
   {
    this.Close();
   }
   return ds;
  }
  /// <summary>
  /// 根据SQL查询返回DataSet对象,如果没有查询到则返回NULL
  /// </summary>
  /// <param name="sql">查询语句</param>
  /// <param name="sRecord">开始记录数</param>
  /// <param name="mRecord">最大记录数</param>
  /// <returns>DataSet</returns>
  public DataSet GetDataSet(string sql, int sRecord, int mRecord)
  {
   DataSet ds = new DataSet();
   try
   {
    OleDbCommand cmd = new OleDbCommand(sql, conn);
    cmd.CommandTimeout = 20;
    System.Data.OleDb.OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
    adapter.Fill(ds, sRecord, mRecord, "tempTable");
   }
   catch (Exception e)
   {
    ds = null;
   }
   finally
   {
    this.Close();
   }
   return ds;
  }
  /// <summary>
  /// 对数据库的增,删,改的操作
  /// </summary>
  /// <param name="sql">SQL语句</param>
  /// <returns>是否成功</returns>
  public bool ExecuteDataBase(string sql)
  {
   bool succeed = false;
   int cnt = 0;
   try
   {
    OleDbCommand cmd = new OleDbCommand(sql, conn);
    cmd.CommandTimeout = 20;
    if (this.Open())
     cnt = cmd.ExecuteNonQuery();
   }
   catch (Exception e)
   {
    e.ToString();
   }
   finally
   {
    if (cnt > 0)
    {
     succeed = true;
    }
    this.Close();
   }
   return succeed;
  }
  /// <summary>
  /// 获得该SQL查询返回的第一行第一列的值,如果没有查询到则返回NULL
  /// </summary>
  /// <param name="sql">查询语句</param>
  /// <returns>返回的第一行第一列的值</returns>
  public string GetScalar(string sql)
  {
   string str = null;
   try
   {
    OleDbCommand cmd = new OleDbCommand(sql, conn);
    if (this.Open())
     str = cmd.ExecuteScalar().ToString();
   }
   catch (Exception e)
   {
    e.ToString();
   }
   finally
   {
    this.Close();
   }
   return str;
  }

  /// <summary>
  ///  获得该SQL查询返回DataTable,如果没有查询到则返回NULL
  /// </summary>
  /// <param name="sql">查询语句</param>
  /// <returns></returns>
  public DataTable GetDataTable(string sql)
  {
   DataTable tb = null;
   DataSet ds = this.GetDataSet(sql);
   if (ds != null)
   {
    tb = ds.Tables["tempTable"];
   }
   return tb;
  }
  /// <summary>
  /// 打开数据库连接.
  /// </summary>
  private bool Open()
  {
   bool succeed = false;
   try
   {
    if (conn.State == System.Data.ConnectionState.Closed)
    {
     conn.Open();
     succeed = true;
    }
    else if (conn.State == System.Data.ConnectionState.Broken)
    {
     conn.Close();
     conn.Open();
     succeed = true;
    }
    else if(conn.State == System.Data.ConnectionState.Open)
    {
     succeed = true;
    }
   }
   catch(Exception e)
   {
    e.ToString();
   }
            
   return succeed;
  }
  /// <summary>
  /// 关闭数据库连接
  /// </summary>
  public void Close()
  {
   if (conn != null)
   {
    conn.Close();
   }
  }
  /// <summary>
  /// 释放数据库连接资源
  /// </summary>
  public void Dispose()
  {
   if (conn != null)
   {
    conn.Dispose();
    conn = null;
   }
  }
 }
}


分享到:
评论

相关推荐

    c# 数据库连接类

    在C#编程中,数据库连接类是用于与各种数据库系统进行交互的重要工具。这个特定的“c# 数据库连接类”适用于初学者,它能够帮助开发者轻松地建立和管理到不同数据库系统的连接,如Access、SQL Server、Oracle以及...

    一个用于C#数据库连接的一个通用类,好东西哦!

    综上所述,这个通用的C#数据库连接类应能适应多种数据库,提供统一的API,方便开发者进行数据库操作。同时,要确保遵循最佳实践,如使用参数化查询、正确管理连接和事务,以及利用连接池优化性能。通过这样的设计,...

    c#数据库连接类.pdf

    `c#数据库连接类.pdf`可能包含关于如何在C#中创建和管理数据库连接的详细信息。以下是对该主题的详细说明,主要基于提供的代码片段。 首先,我们看到代码中定义了一个名为`SqlHelp`的静态类,它专门用于处理SQL ...

    C# 数据库连接池 C# 数据库连接池

    C#数据库连接池是一种管理数据库连接的技术,通过复用已存在的连接而不是每次请求时都创建新的连接,从而提高数据库操作的性能和效率。本文将深入探讨C#中数据库连接池的工作原理、实现方式以及最佳实践。 ### ...

    C#数据库连接字符串加密解密类

    .net下C#数据库连接字符串在配置文件中的加密解密类

    C#高效数据库连接池源码

    在C#中,可以使用`System.Data.Common.DbConnection`作为基类,创建自定义的数据库连接类,然后在此基础上实现连接池逻辑。 4. **源码分析**: `ConnectionPool.sln`是解决方案文件,包含项目的整体配置和依赖关系...

    c#连接数据库类

    本文将详细介绍一个具体的C#数据库连接类的实现方式,包括其主要功能、工作原理以及使用方法。 #### 二、核心知识点 ##### 2.1 类结构定义 根据题目提供的部分代码示例,可以看出这个类名为`DataClass`,位于`...

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

    在C#中,为了方便地管理和操作SQL Server数据库,我们可以创建一个数据库连接的公共类,封装常用的操作方法。这个公共类可以大大提高代码的复用性,减少重复的工作,使得项目更加整洁高效。 首先,我们需要引入`...

    c#数据库连接类 节省开发速度

    好用的c#连接数据库的类 其中包括可以执行SQL语句,或存储过程的封装

    C# 数据库连接池

    在C#中,ADO.NET框架内置了对数据库连接池的支持,主要通过`System.Data.SqlClient.SqlConnection`类实现。当我们使用`SqlConnection`的`Open()`方法打开连接时,实际上是从连接池中获取一个可用的连接;调用`Close...

    c# mysql数据库连接池实现

    本文将深入探讨如何在C#中使用MySQL数据库连接池。 首先,我们需要了解什么是数据库连接池。数据库连接池是一种资源管理技术,它预先创建并维护一定数量的数据库连接,当应用需要时,可以从池中获取连接,使用完毕...

    c#数据库连接大全

    标题:c#数据库连接大全 描述:本文将详细介绍在C#中如何连接各种数据库的方法,包括SQL Server、ODBC、OLEDB以及DataShape等不同类型的数据库连接方式,旨在为开发者提供全面的C#数据库连接指南。 一、SQL Server...

    C# 数据库连接池实例

    数据库连接池是数据库管理中的一个重要概念,特别是在使用像C#这样的编程语言进行数据库操作时,它的存在极大地提高了数据库操作的效率和性能。本实例将深入探讨C#中的数据库连接池,以及如何有效地利用它。 首先,...

    绝佳C#数据库封装类

    标题:绝佳C#数据库封装类 描述:绝佳C#数据库封装类,非常详细,自己看吧 知识点: 一、C#数据库封装类的作用与优势 C#数据库封装类是一种用于简化数据库操作的代码封装方式,它能够将常见的数据库操作如连接、...

    .net C# 数据库访问类

    在.NET开发环境中,C#是一种常用的编程语言,用于构建各种...DAR.DataAccess这个库很可能是一个多数据库支持的解决方案,能够帮助开发者更高效地管理数据库连接、执行SQL命令和处理事务,适用于各种基于.NET的项目。

    C# 数据库连接池 database pool

    以下是一个使用C#数据库连接池的基本示例代码: ```csharp using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Data Source=myServerAddress;...

    C#数据库连接及实例

    在.NET框架中,C#是一种常用的编程语言,用于构建各种...请参考提供的"C#数据库连接.doc"文档,获取更具体的实例和详细步骤。通过学习和实践,你可以掌握C#连接各种数据库的方法,从而构建出高效、可靠的数据库应用。

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

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

    C#数据库操作类AccessHelper实例

    AccessHelper类包含了多个静态变量和方法,如数据库连接(conn)、命令对象(comm)和连接字符串(connectionString)。这些变量用于存储数据库连接信息,并提供数据库操作的基础。 2. **连接字符串**: 连接字符...

    简单C#数据库连接小例子

    本教程将通过一个简单的C#数据库连接示例,帮助初学者理解和掌握如何建立数据库连接。 首先,我们需要引入ADO.NET相关的命名空间,这通常包括`System.Data.SqlClient`。这个命名空间提供了连接到SQL Server数据库所...

Global site tag (gtag.js) - Google Analytics