这是今天花了一下时间编写的一个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();
*/