ADO.NET的一个帮助类库,只须一个连接,一条SQL语句,轻松实现数据库的查旬,再加一个object 轻松实现数据库的增删改
2008-09-03 00:11
816 查看
该类库根据是否需要事务可分为两个部分,分别由三个构造方法决定
命名空间DBAssistant,类DBAssist
方法ExecNoQueryWithTran() 实现带事务的增删改,返回(int)影响的行数
方法 ExecNoQuery()实现不带事务的增删改,返回(int) 影响的行数
方法ExecScalar() 实现返回首行首列的查询,返回(object)
方法ExecSelect() 返回SqlDataReader
方法GetDataSet() 返回DataSet
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using WriteException;
namespace DBAssistant
{
public class DBAssist
{
/// <summary>
/// 重载的构造方法
/// </summary>
public DBAssist() { }
public DBAssist(string strSql,SqlConnection conn)
{
this.StrSql = strSql;
this.Conn = conn;
}
public DBAssist(string strSql,object obj,SqlConnection conn)
{
this.StrSql = strSql;
this.Obj = obj;
this.Conn = conn;
}
public DBAssist(string strSql, object obj, SqlConnection conn,SqlTransaction sqlTran)
{
this.StrSql = strSql;
this.Obj = obj;
this.Conn = conn;
this.sqlTran = sqlTran;
}
/// <summary>
/// sql语句
/// </summary>
string strSql;
public string StrSql
{
get { return strSql; }
set { strSql = value; }
}
/// <summary>
/// 要操作的对象,需要对数据库操作的数据存于其中
/// </summary>
object obj;
public object Obj
{
get { return obj; }
set { obj = value; }
}
/// <summary>
/// 连接
/// </summary>
SqlConnection conn;
public SqlConnection Conn
{
get { return conn; }
set { conn = value; }
}
/// <summary>
/// 事务
/// </summary>
SqlTransaction sqlTran;
public SqlTransaction SqlTran
{
get { return sqlTran; }
set { sqlTran = value; }
}
public object count;
/// <summary>
/// 带事务增删改方法
/// </summary>
/// <returns>int</returns>
public int ExecNoQueryWithTran()
{
int num = 0;
try
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
cmd.Transaction = sqlTran;
num = cmd.ExecuteNonQuery();
//SqlTran.Commit();
}
}
catch (Exception ex)
{
WriException.Write(ex);
//SqlTran.Rollback();
}
return num;
}
/// <summary>
/// 不带事务的增删改方法
/// </summary>
/// <returns>int</returns>
public int ExecNoQuery()
{
int num = 0;
try
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
num = cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
WriException.Write(ex);
}
return num;
}
/// <summary>
/// 返回 SqlDataReader 的查询方法
/// </summary>
/// <returns>SqlDataReader</returns>
public SqlDataReader ExecSelect()
{
SqlDataReader dr = null;
try
{
SqlCommand cmd = new SqlCommand(strSql, conn);
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
catch (Exception ex)
{
WriException.Write(ex);
}
return null;
}
/// <summary>
/// 调用ExecuteScalar()方法,返回 object 的查询方法
/// </summary>
/// <returns>Object</returns>
public object ExecScalar()
{
count=null;
try
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
count = cmd.ExecuteScalar();
}
}
catch (Exception ex)
{
WriException.Write(ex);
}
return count;
}
DataSet ds;
/// <summary>
/// 返回DataSet的查询方法
/// </summary>
/// <returns>DataSet</returns>
public DataSet GetDataSet()
{
ds = null;
using (SqlDataAdapter sda = new SqlDataAdapter(strSql, conn))
{
using (ds = new DataSet())
{
sda.Fill(ds);
}
}
return ds;
}
}
}
命名空间DBAssistant,类DBAssist
方法ExecNoQueryWithTran() 实现带事务的增删改,返回(int)影响的行数
方法 ExecNoQuery()实现不带事务的增删改,返回(int) 影响的行数
方法ExecScalar() 实现返回首行首列的查询,返回(object)
方法ExecSelect() 返回SqlDataReader
方法GetDataSet() 返回DataSet
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using WriteException;
namespace DBAssistant
{
public class DBAssist
{
/// <summary>
/// 重载的构造方法
/// </summary>
public DBAssist() { }
public DBAssist(string strSql,SqlConnection conn)
{
this.StrSql = strSql;
this.Conn = conn;
}
public DBAssist(string strSql,object obj,SqlConnection conn)
{
this.StrSql = strSql;
this.Obj = obj;
this.Conn = conn;
}
public DBAssist(string strSql, object obj, SqlConnection conn,SqlTransaction sqlTran)
{
this.StrSql = strSql;
this.Obj = obj;
this.Conn = conn;
this.sqlTran = sqlTran;
}
/// <summary>
/// sql语句
/// </summary>
string strSql;
public string StrSql
{
get { return strSql; }
set { strSql = value; }
}
/// <summary>
/// 要操作的对象,需要对数据库操作的数据存于其中
/// </summary>
object obj;
public object Obj
{
get { return obj; }
set { obj = value; }
}
/// <summary>
/// 连接
/// </summary>
SqlConnection conn;
public SqlConnection Conn
{
get { return conn; }
set { conn = value; }
}
/// <summary>
/// 事务
/// </summary>
SqlTransaction sqlTran;
public SqlTransaction SqlTran
{
get { return sqlTran; }
set { sqlTran = value; }
}
public object count;
/// <summary>
/// 带事务增删改方法
/// </summary>
/// <returns>int</returns>
public int ExecNoQueryWithTran()
{
int num = 0;
try
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
cmd.Transaction = sqlTran;
num = cmd.ExecuteNonQuery();
//SqlTran.Commit();
}
}
catch (Exception ex)
{
WriException.Write(ex);
//SqlTran.Rollback();
}
return num;
}
/// <summary>
/// 不带事务的增删改方法
/// </summary>
/// <returns>int</returns>
public int ExecNoQuery()
{
int num = 0;
try
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
num = cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
WriException.Write(ex);
}
return num;
}
/// <summary>
/// 返回 SqlDataReader 的查询方法
/// </summary>
/// <returns>SqlDataReader</returns>
public SqlDataReader ExecSelect()
{
SqlDataReader dr = null;
try
{
SqlCommand cmd = new SqlCommand(strSql, conn);
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
catch (Exception ex)
{
WriException.Write(ex);
}
return null;
}
/// <summary>
/// 调用ExecuteScalar()方法,返回 object 的查询方法
/// </summary>
/// <returns>Object</returns>
public object ExecScalar()
{
count=null;
try
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
count = cmd.ExecuteScalar();
}
}
catch (Exception ex)
{
WriException.Write(ex);
}
return count;
}
DataSet ds;
/// <summary>
/// 返回DataSet的查询方法
/// </summary>
/// <returns>DataSet</returns>
public DataSet GetDataSet()
{
ds = null;
using (SqlDataAdapter sda = new SqlDataAdapter(strSql, conn))
{
using (ds = new DataSet())
{
sda.Fill(ds);
}
}
return ds;
}
}
}
相关文章推荐
- 关于ADO.NET,只须一个连接,一条SQL语句,轻松实现增删改查
- .NET数据库编程求索之路--3.使用ADO.NET实现(SQL语句篇)(1)
- .NET数据库编程求索之路--3.使用ADO.NET实现(SQL语句篇)(2)
- 使用ADO.NET类及方法实现数据库的查询并返回一个Object 数组
- ADO.NET |DataDirectory| 实现数据库连接的相对路径
- NDatabase 入门,简单使用 增删改查。让NDatabase带你脱离ADO.net,各种SQL 语句,各种DBMS,各种CRM,IOC之类的烦恼。我们也不需要仓库设计模式了,你妹的。不要表了,不要设计数据库字段了。就这样!
- 黑马程序员_学习日记47_615数据库开发及ADO.Net(连接字符串、SqlDataReader对象、连接池)
- 轻松得到适用于C# ADO.NET的各种数据库连接字符串
- 轻松得到C# ADO.NET的各种数据库连接字符串
- Java语句轻松实现与数据库MYSQL【本地数据库】的连接,和对数据库的增删改查操作
- 轻松得到C# ADO.NET的各种数据库连接字符串
- 利用javabean轻松实现对数据库的连接、查询以及增删改!------使用范例
- 一个实现了和数据库打交道的源文件(组装sql语句版)
- 黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)
- ADO带密码的数据连接、查询一个记录集、执行一SQL语句
- 使用ODP.NET连接Oracle数据库一个OracleCommand运行多条SQL语句的方法
- ADO.net实现数据库连接(1)
- ADO.NET 使用Connection对象连接数据库实现用户登录
- 用一条SQL语句实现向数据库中插入多条记录的方法
- C#实现连接SQL Server2012数据库并执行SQL语句的方法