• Asp.net DataHelper类


    适合初学者的操作数据库类:

    SqlDbHelper Code
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Data.SqlClient;
    using System.Configuration;


    namespace Web_TEST.Common
    {
    public class SqlDbHelper
    {
    private string connectionString;
    /// <summary>
    /// 设置数据库连接字符串
    /// </summary>
    public string ConnectionString
    {
    set { connectionString = value; }
    }
    /// <summary>
    /// 构造函数
    /// </summary>
    public SqlDbHelper()
    : this(ConfigurationManager.ConnectionStrings["TESTConnectionString"].ConnectionString)
    {

    }
    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="connectionString">数据库连接字符串</param>
    public SqlDbHelper(string connectionString)
    {
    this.connectionString = connectionString;
    }
    /// <summary>
    /// 执行一个查询,并返回结果集
    /// </summary>
    /// <param name="sql">要执行的查询SQL文本命令</param>
    /// <returns>返回查询结果集</returns>
    public DataTable ExecuteDataTable(string sql)
    {
    return ExecuteDataTable(sql, CommandType.Text, null);
    }
    /// <summary>
    /// 执行一个查询,并返回查询结果
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <param name="commandType">要执行的查询语句的类型,如存储过程或者SQL文本命令</param>
    /// <returns>返回查询结果集</returns>
    public DataTable ExecuteDataTable(string sql, CommandType commandType)
    {
    return ExecuteDataTable(sql, commandType, null);
    }
    /// <summary>
    /// 执行一个查询,并返回查询结果
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <param name="commandType">要执行的查询语句的类型,如存储过程或者SQL文本命令</param>
    /// <param name="parameters">Transact-SQL 语句或存储过程的参数数组</param>
    /// <returns></returns>
    public DataTable ExecuteDataTable(string sql, CommandType commandType, SqlParameter[] parameters)
    {
    DataTable data = new DataTable();//实例化DataTable,用于装载查询结果集71
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
    using (SqlCommand command = new SqlCommand(sql, connection))
    {
    command.CommandType = commandType;//设置command的CommandType为指定的CommandType
    //如果同时传入了参数,则添加这些参数
    if (parameters != null)
    {
    foreach (SqlParameter parameter in parameters)
    {
    command.Parameters.Add(parameter);
    }
    }
    //通过包含查询SQL的SqlCommand实例来实例化SqlDataAdapter
    SqlDataAdapter adapter = new SqlDataAdapter(command);
    adapter.Fill(data);//填充DataTable
    }
    }
    return data;
    }
    /// <summary>
    ///
    /// </summary>
    /// <param name="sql">要执行的查询SQL文本命令</param>
    /// <returns></returns>
    public SqlDataReader ExecuteReader(string sql)
    {
    return ExecuteReader(sql, CommandType.Text, null);
    }
    /// <summary>
    ///
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <param name="commandType">要执行的查询语句的类型,如存储过程或者SQL文本命令</param>
    /// <returns></returns>
    public SqlDataReader ExecuteReader(string sql, CommandType commandType)
    {
    return ExecuteReader(sql, commandType, null);
    }
    /// <summary>
    ///
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <param name="commandType">要执行的查询语句的类型,如存储过程或者SQL文本命令</param>
    /// <param name="parameters">Transact-SQL 语句或存储过程的参数数组</param>
    /// <returns></returns>
    public SqlDataReader ExecuteReader(string sql, CommandType commandType, SqlParameter[] parameters)
    {
    SqlConnection connection = new SqlConnection(connectionString);
    SqlCommand command = new SqlCommand(sql, connection);
    //如果同时传入了参数,则添加这些参数
    if (parameters != null)
    {
    foreach (SqlParameter parameter in parameters)
    {
    command.Parameters.Add(parameter);
    }
    }
    connection.Open();
    //CommandBehavior.CloseConnection参数指示关闭Reader对象时关闭与其关联的Connection对象
    return command.ExecuteReader(CommandBehavior.CloseConnection);
    }
    /// <summary>
    ///
    /// </summary>
    /// <param name="sql">要执行的查询SQL文本命令</param>
    /// <returns></returns>
    public Object ExecuteScalar(string sql)
    {
    return ExecuteScalar(sql, CommandType.Text, null);
    }
    /// <summary>
    ///
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <param name="commandType">要执行的查询语句的类型,如存储过程或者SQL文本命令</param>
    /// <returns></returns>
    public Object ExecuteScalar(string sql, CommandType commandType)
    {
    return ExecuteScalar(sql, commandType, null);
    }
    /// <summary>
    ///
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <param name="commandType">要执行的查询语句的类型,如存储过程或者SQL文本命令</param>
    /// <param name="parameters">Transact-SQL 语句或存储过程的参数数组</param>
    /// <returns></returns>
    public Object ExecuteScalar(string sql, CommandType commandType, SqlParameter[] parameters)
    {
    object result = null;
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
    using (SqlCommand command = new SqlCommand(sql, connection))
    {
    command.CommandType = commandType;//设置command的CommandType为指定的CommandType
    //如果同时传入了参数,则添加这些参数
    if (parameters != null)
    {
    foreach (SqlParameter parameter in parameters)
    {
    command.Parameters.Add(parameter);
    }
    }
    connection.Open();//打开数据库连接
    result = command.ExecuteScalar();
    }
    }
    return result;//返回查询结果的第一行第一列,忽略其它行和列
    }
    /// <summary>
    /// 对数据库执行增删改操作
    /// </summary>
    /// <param name="sql">要执行的查询SQL文本命令</param>
    /// <returns></returns>
    public int ExecuteNonQuery(string sql)
    {
    return ExecuteNonQuery(sql, CommandType.Text, null);
    }
    /// <summary>
    /// 对数据库执行增删改操作
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <param name="commandType">要执行的查询语句的类型,如存储过程或者SQL文本命令</param>
    /// <returns></returns>
    public int ExecuteNonQuery(string sql, CommandType commandType)
    {
    return ExecuteNonQuery(sql, commandType, null);
    }
    /// <summary>
    /// 对数据库执行增删改操作
    /// </summary>
    /// <param name="sql">要执行的SQL语句</param>
    /// <param name="commandType">要执行的查询语句的类型,如存储过程或者SQL文本命令</param>
    /// <param name="parameters">Transact-SQL 语句或存储过程的参数数组</param>
    /// <returns></returns>
    public int ExecuteNonQuery(string sql, CommandType commandType, SqlParameter[] parameters)
    {
    int count = 0;
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
    using (SqlCommand command = new SqlCommand(sql, connection))
    {
    command.CommandType = commandType;//设置command的CommandType为指定的CommandType
    //如果同时传入了参数,则添加这些参数
    if (parameters != null)
    {
    foreach (SqlParameter parameter in parameters)
    {
    command.Parameters.Add(parameter);
    }
    }
    connection.Open();//打开数据库连接
    count = command.ExecuteNonQuery();

    }
    }
    return count;//返回执行增删改操作之后,数据库中受影响的行数
    }
    /// <summary>
    /// 返回当前连接的数据库中所有由用户创建的数据库
    /// </summary>
    /// <returns></returns>
    public DataTable GetTables()
    {
    DataTable data = null;
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
    connection.Open();//打开数据库连接
    data = connection.GetSchema("Tables");
    }
    return data;
    }
    /// <summary>
    /// 执行SQL事务
    /// </summary>
    /// <param name="sqls"></param>
    public void ExecuteBatchBySqls(List<string> sqls)
    {
    using (SqlConnection conn = new SqlConnection(this.connectionString))
    {
    SqlTransaction ot = null;
    using (SqlCommand cmd = new SqlCommand())
    {
    try
    {
    conn.Open();
    cmd.Connection = conn;
    //开始事务
    ot = conn.BeginTransaction();
    cmd.Transaction = ot;
    foreach (string sql in sqls)
    {
    if (sql.Trim().Length > 1)
    {
    cmd.CommandText = sql;
    cmd.ExecuteNonQuery();
    }
    }
    //提交事务
    ot.Commit();
    }
    catch (Exception ex)
    {
    //事务回滚
    ot.Rollback();
    ex.Message.ToString();
    //LogManager.WriteLog(ex.ToString());
    }
    }
    }
    }
    }
    }


     

  • 相关阅读:
    NSFileHandle学习
    NSFileManager学习创建拷贝删除
    电量电费的尖峰平谷
    电表的付费模式
    电能表类型
    oracle递归
    相关子查询和非相关子查询
    再说exists 关键字,和inner join 差别大
    发电厂和电力局的关系
    js的toFixed()方法
  • 原文地址:https://www.cnblogs.com/captainR/p/2318168.html
Copyright © 2020-2023  润新知