using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
namespace DAL
{
public class SqlHelperOA2023
{
//获得数据库连接字符串
public static readonly string conString = ConfigurationManager.ConnectionStrings["sqlConNew"].ConnectionString;
///
/// 创建数据库连接对象
///
/// 返回数据库连接对象
public static SqlConnection createCon()
{
return new SqlConnection(conString);
}
public static DataTable QueryAll(string sql)
{
SqlConnection conn = new SqlConnection(conString);
try
{
conn.Open();
SqlCommand com = new SqlCommand(sql, conn);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
}
catch (Exception)
{
return null;
}
finally
{
conn.Close();
}
}
///
/// 创建执行对象
///
/// 文本内容
/// 文本类型
/// 可变参数数组
/// 返回执行对象
public static SqlCommand createCmd(string cmdText, CommandType cmdType, params SqlParameter[] param)
{
//实例化执行对象
SqlCommand cmd = new SqlCommand();
//执行连接对象
cmd.Connection = createCon();
//执行文本内容
cmd.CommandText = cmdText;
//选择文本类型
cmd.CommandType = cmdType;
//判断可变参数数组里是否为null 如果不为null 则添加进可变参数数组中
if (param != null)
foreach (SqlParameter p in param)
cmd.Parameters.Add(p);
//cmd.Parameters.Clear();//执行完后清理SqlParameter中的值
//返回执行对象
return cmd;
}
///
/// 创建ExecuteNonQuery()方法Edit
///
/// 文本内容
/// 文本类型
/// 可变参数数组
/// 返回受影响行数
public static int ExecuteNonQuery(string cmdText, CommandType cmdType, params SqlParameter[] param)
{
//创建执行对象
SqlCommand cmd = createCmd(cmdText, cmdType, param);
try
{
//打开连接
cmd.Connection.Open();
//执行ExecuteNonQuery()方法
int count = cmd.ExecuteNonQuery();
//关闭连接
cmd.Connection.Close();
//返回受影响行数
return count;
}
catch (Exception e)
{
string error = e.Message.ToString();
//关闭连接
cmd.Connection.Close();
//返回 0
return 0;
}
}
///
/// 创建ExecuteScalar()方法Add
///
/// 文本内容
/// 文本类型
/// 可变参数数组
/// 返回第1行第1列的值
public static Object ExecuteScalar(string cmdText, CommandType cmdType, params SqlParameter[] param)
{
//创建执行对象
SqlCommand cmd = createCmd(cmdText, cmdType, param);
try
{
//打开连接
cmd.Connection.Open();
//执行查询方法
Object obj = cmd.ExecuteScalar();
//返回第1行第1列的值
return obj;
}
catch (Exception EX)
{
//关闭连接
cmd.Connection.Close();
//返回空
return null;
}
}
}
}