using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
namespace DAL
{
public class DBHelper
{
//连接字符串
public static string connStr = "server=.;database=freshlivedb;Integrated Security=true;";//windows身份验证
//声明所需对象
public static SqlConnection conn = null; //连接对象
public static SqlCommand cmd = null; //命令对象
public static DataTable dt = null; //DataTable对象
public static SqlDataAdapter sda = null; //SqlDataAdapter对象
public static SqlDataReader dr = null; //SqlDataReader对象
public static void InitConnection() //初始化连接--针对连接对象
{
//判断连接对象是否为空,是则创建
if (conn == null)
conn = new SqlConnection(connStr);
//判断连接是否关闭,是则打开
if (conn.State == ConnectionState.Closed)
conn.Open();
//判断连接是否中断,是则重启
if (conn.State == ConnectionState.Broken)
{
conn.Close(); //关闭连接
conn.Open(); //打开连接
}
}
public static bool ExecuteNonQuery(string sql) //执行增,删,改,返回是否成功
{
//打开连接
InitConnection();
//创建命令对象
cmd = new SqlCommand(sql, conn);
//执行命令
int result=cmd.ExecuteNonQuery();
//关闭连接
conn.Close();
//返回结果
return result > 0;
}
public static SqlDataReader GetDataReader(string sql) //执行查询,返回SqlDataReader对象--【非断开式】
{
//打开连接
InitConnection();
//创建命令对象
cmd = new SqlCommand(sql, conn);
//执行命令返回SqlDataReader对象,并自动关闭连接对象
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
public static DataTable GetDataTable(string sql) //执行查询,返回DataTable对象--【断开式】
{
//打开连接
InitConnection();
//创建DataTable对象
dt = new DataTable();
//创建SqlDataAdapter对象
sda = new SqlDataAdapter(sql, conn);
//填充数据
sda.Fill(dt);
//关闭连接
conn.Close();
//返回DataTable对象
return dt;
}
public static object ExecuteScalar(string sql) //执行聚合函数,返回首行首列单个数据
{
//打开连接
InitConnection();
//创建命令对象
cmd = new SqlCommand(sql, conn);
//执行命令,获取结果
object result = cmd.ExecuteScalar();
//关闭连接
conn.Close();
//返回结果
return result;
}
}
}
C#的DBHelper类完整代码
于 2023-11-29 23:35:40 首次发布