自己写的个C#(ASP.NET)连接SQL数据库执行查询和修改操作的类

时间:2022-06-22 07:59:10

这是今天花了一下时间编写的一个ASP.NET(C# ,Framework3.5)连接SQL数据库,执行SQL语句和获取查询返回数据集的类。

写完后自己感觉,肯定这东西状态还很原始,很多高端的需求还应对不上。目前能做的恐怕还只是基本操作,而且实现的还不一定怎么好。

不管怎样,先放上来再说,以后慢慢改。


呃不到1天就做了不少修改。只好修改版本号了:1.0.1


修改内容如下:

类内移除了SqlDataReader类的对象。现在需要在类外定义SqlDataReader空对象并标上ref后,传递给SQLInquire()方法。

为方法加入了注释代码,会显示在IDE的提示中,像系统具有的提示信息那样。原注释移到最末尾更名为附录,以后可能会移除其中多余内容。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Data;
using System.Data.SqlClient;
using System.Configuration;


/// <summary>
///这是一个自定义的SQL数据库操作类。里面封装了建立数据库连接,和执行SQL语句的对象。
/// </summary>

//***************************
// 最后修改日期:01/08/2014
// 程序版本 V1.0.1 
//***************************

public class Conn
{
    private SqlConnection conn;    // 数据库连接对象
    private SqlCommand sc;         // 数据库命令执行对象

    /// <summary>
    /// 构造函数 默认 - 从配置文件中获取连接字串
    /// </summary>
    public Conn()
	{
        conn = new SqlConnection(ConfigurationManager.AppSettings["Conn"]);
        conn.Open();
    }


    /// <summary>
    /// 构造函数 重载1 - 由指定的字串进行连接
    /// </summary>
    /// <param name="Str">数据库连接字符串</param>
    public Conn(string Str)
    {
        conn = new SqlConnection(Str);
        conn.Open();       
    }


    /// <summary>
    /// 执行数据库修改操作(Insert,Update,Delete)
    /// </summary>
    /// <param name="Str">要执行的SQL语句。必须为插入,修改,删除这三种之一。</param>
    /// <returns>返回成功操作的行数。返回值为0,表示操作失败。</returns>
    public int SQLOperate(string Str)
    {
        sc =  new SqlCommand(Str,conn);
        return sc.ExecuteNonQuery();
    }

    
    /// <summary>
    /// 执行数据库查询操作(Select)
    /// </summary>
    /// <param name="Str">要执行的SQL语句,必须为查询。</param>
    /// <param name="dr">一个实例化SqlDataReader对象的引用。</param>
    public void SQLInquire(string Str, ref SqlDataReader dr)
    {
        sc = new SqlCommand(Str, conn);
        dr = sc.ExecuteReader();
    }    


    /// <summary>
    /// 关闭数据库连接
    /// </summary>
    public void Close()
    {
        if(conn.State == ConnectionState.Open)
            conn.Close();
    }

}


/* 【备注】
 * 需要在网站Web.config文件下的<configuration>节中修改<appSettings />为
 * 
 * <appSettings>
 *     <add key="Conn" value="Data Source=.;Initial Catalog=epbase;Integrated Security=True"/>
 * </appSettings>
 */


/* 【附录】 
 ***********************************************************
 类名:Conn
 功能:连接、打开SQL数据库,执行查询或者增、删、改的SQL命令。
 描述:是一个SQL数据库操作类,封装了连接打开数据库的对象,和
       执行SQL指令语句的对象,和返回数据库的对象。目的是使数
       据库的操作更加简便,好管理。
 *********************************************************** 
 -----------------------------------------------------------
 【构造方法】
 Conn Obj1 = new Conn(); 
 
 Conn Obj2 = new Conn("连接字符串"); 
 
 -----------------------------------------------------------
 【SQLOperate()方法】
 功能:用于Insert, Update, Delete 三种指令的执行。
 参数:string型,内容为要执行的SQL语句。
 返回值:int型,返回成功操作的行数。返回值为0,表示操作失败。
 示例:
 int n = Obj1.SQLOperate("SQL指令字符串");
 if (n > 0) Response.Write("操作成功。");
 Obj1.Close();        
 
 
 -----------------------------------------------------------
 【SQLInquire()方法】
 功能:用于Select指令的查询。
 参数:string型,内容为要执行的SQL语句。
 参数:SqlDataReader类对象,实例化对象的引用。
 返回值:无
 示例:
 SqlDataReader dr = null;
 Obj2.SQLInquire("SQL指令字符串",ref dr);
 while (dr.Read())
     Response.Write(dr["列名1"] + "|" + dr["列名2"] + "<br />");
 dr.Close();
 Obj2.Close();
 

 -----------------------------------------------------------
 【Close()方法】
 功能:关闭数据库连接。
 参数:无
 返回值:无
 示例:ConnObject.close();


 */