小弟不才,通过几天自学ado.net,写出了自己的第一个工具类,以后会慢慢完善的.
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
namespace DXKLibrary.SQL
{
/// <summary>
/// 提供与数据库连接的操作
/// </summary>
public static class SQLHelper
{
//连接字符串
static readonly string connStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
/// <summary>
/// 执行非查询的数据库操作
/// </summary>
/// <param name="cmdText">数据库语句</param>
/// <param name="type">要执行的类型</param>
/// <param name="pars">参数</param>
/// <returns>得到受影响的行数</returns>
public static int ExecuteNonQuery(string cmdText, CommandType type, params SqlParameter[] pars)
{
//创建连接通道
using (SqlConnection conn = new SqlConnection(connStr))
{
//创建操作对象
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
//得到操作的类型
cmd.CommandType = type;
//添加参数
if (pars.Length != 0)
{
cmd.Parameters.AddRange(pars);
}
//开始连接数据库
conn.Open();
//执行操作,并返回结果
return cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 执行非查询的数据库操作
/// </summary>
/// <param name="cmdText">数据库语句</param>
/// <param name="pars">参数</param>
/// <returns>得到受影响的行数</returns>
public static int ExecuteNonQuery(string cmdText, params SqlParameter[] pars)
{
return ExecuteNonQuery(cmdText, CommandType.Text, pars);
}
/// <summary>
/// 执行查询,得到第一行第一个数据
/// </summary>
/// <param name="cmdText">数据库语句</param>
/// <param name="type">要执行的类型</param>
/// <param name="pars">参数</param>
/// <returns>返回查询的数据</returns>
public static object ExecuteScalar(string cmdText, CommandType type, params SqlParameter[] pars)
{
//创建连接通道
using (SqlConnection conn = new SqlConnection(connStr))
{
//创建操作对象
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
//得到操作类型
cmd.CommandType = type;
//添加参数
if (pars.Length != 0)
{
cmd.Parameters.AddRange(pars);
}
//连接数据库
conn.Open();
//开始查询,返回结果
return cmd.ExecuteScalar();
}
}
}
/// <summary>
/// 执行查询,得到第一行第一个数据
/// </summary>
/// <param name="cmdText">数据库语句</param>
/// <param name="pars">参数</param>
/// <returns>返回查询的数据</returns>
public static object ExecuteScalar(string cmdText, params SqlParameter[] pars)
{
return ExecuteScalar(cmdText, CommandType.Text, pars);
}
/// <summary>
/// 执行查询,得到一个读取对象
/// </summary>
/// <param name="cmdText">数据库语句</param>
/// <param name="pars">参数</param>
/// <returns>返回查询的数据</returns>
public static SqlDataReader ExecuteReader(string cmdText, CommandType type, params SqlParameter[] pars)
{
//创建连接通道
SqlConnection conn = new SqlConnection(connStr);
//创建操作对象
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
//操作类型
cmd.CommandType = type;
//添加参数
if (pars.Length != 0)
{
cmd.Parameters.AddRange(pars);
}
//连接数据库
conn.Open();
//返回对象,并且等待对象读取完毕时关闭数据库连接
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
/// <summary>
/// 执行查询,得到一个读取对象
/// </summary>
/// <param name="cmdText">数据库语句</param>
/// <param name="pars">参数</param>
/// <returns>返回查询的数据</returns>
public static SqlDataReader ExecuteReader(string cmdText, params SqlParameter[] pars)
{
return ExecuteReader(cmdText, CommandType.Text, pars);
}
/// <summary>
/// 得到一个存放查询数据的DataSet对象
/// </summary>
/// <param name="cmdText">数据库语句</param>
/// <param name="type">操作类型</param>
/// <param name="pars">参数</param>
/// <returns>DataSet对象</returns>
public static DataSet DXKSqlDataAdapter(string cmdText, CommandType type, params SqlParameter[] pars)
{
DataSet ds = new DataSet();
//创建SqlDataAdapter
using (SqlDataAdapter sda = new SqlDataAdapter(cmdText, connStr))
{
//得到操作类型
sda.SelectCommand.CommandType = type;
//添加参数
if (pars.Length != 0)
{
sda.SelectCommand.Parameters.AddRange(pars);
}
//开始执行操作
sda.Fill(ds);
}
//返回结果
return ds;
}
/// <summary>
/// 得到一个存放查询数据的DataSet对象
/// </summary>
/// <param name="cmdText">数据库语句</param>
/// <param name="type">操作类型</param>
/// <param name="pars">参数</param>
/// <returns>DataSet对象</returns>
public static DataSet DXKSqlDataAdapter(string cmdText, params SqlParameter[] pars)
{
return DXKSqlDataAdapter(cmdText, CommandType.Text, pars);
}
}
}
|