基本信息
源码名称:SQLHelper连接数据库示例类
源码大小:0.05M
文件格式:.rtf
开发语言:C#
更新时间:2015-04-01
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
[实例简介]
连接sql数据库 类
[核心代码]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
namespace Itcast.Cn
{
public static class SqlHelper
{
private static readonly string conStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
//执行增删改的
public static int ExecuteNonQuery(string sql, CommandType cmdType, params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(conStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
cmd.CommandType = cmdType;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteNonQuery();
}
}
}
//封装一个执行返回单个值的方法
public static object ExecuteScalar(string sql, CommandType cmdType, params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(conStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
cmd.CommandType = cmdType;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteScalar();
}
}
}
//返回SqlDataReader对象的方法
public static SqlDataReader ExecuteReader(string sql, CommandType cmdType, params SqlParameter[] pms)
{
SqlConnection con = new SqlConnection(conStr);
using (SqlCommand cmd = new SqlCommand(sql, con))
{
cmd.CommandType = cmdType;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
try
{
con.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception)
{
con.Close();
con.Dispose();
throw;
}
}
}
//封装一个返回DataTable的方法
public static DataTable ExecuteDataTable(string sql, CommandType cmdType, params SqlParameter[] pms)
{
DataTable dt = new DataTable();
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conStr))
{
adapter.SelectCommand.CommandType = cmdType;
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
}
adapter.Fill(dt);
}
return dt;
}
//封装一个带事务的执行Sql语句的方法
public static void ExecuteNonQueryTran(List<SqlAndParameter> list)
{
using (SqlConnection con = new SqlConnection(conStr))
{
using (SqlCommand cmd = con.CreateCommand())
{
con.Open();
using (SqlTransaction trans = con.BeginTransaction())
{
cmd.Transaction = trans;
try
{
foreach (var SqlObject in list)
{
cmd.CommandText = SqlObject.Sql;
if (SqlObject.Parameters != null)
{
cmd.Parameters.AddRange(SqlObject.Parameters);
}
cmd.CommandType = SqlObject.CmdType;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
trans.Commit();
}
catch (Exception)
{
trans.Rollback();
}
}
}
}
}
}
public class SqlAndParameter
{
public string Sql
{
get;
set;
}
public SqlParameter[] Parameters
{
get;
set;
}
public CommandType CmdType
{
get;
set;
}
}
}