登录  /  注册

关于.net C# Sql数据库SQLHelper类实例代码

零下一度
发布: 2017-06-23 16:16:55
原创
1880人浏览过

using system;
using system.collections.generic;
using system.text;
using system.collections;
using system.data.sqlclient;
using system.data;
using system.configuration;


   public class SQLHelper
   {
       //取得数据库连接web.config 中配置 
       public static readonly string ConnectString = ConfigurationManager.ConnectionStrings["DBString"].ConnectionString;

///


       /// 无事务,数据查询
       ///

       /// 存储过程或Sql语句
       /// 存储过程名或Sql语句内容
       /// 参数列表
       ///
       public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           SqlCommand cmd = new SqlCommand();

SqlConnection conn = new SqlConnection(ConnectString);

try
           {
               PrepareCommand(cmd, conn, null, cmdType, cmdText, CommandParams);
               int val = cmd.ExecuteNonQuery();
               cmd.Parameters.Clear();
               return val;
           }
           catch
           {
               throw;
           }
           finally
           {
               conn.Close();

}

}


       ///


       /// 有事务,数据操作类
       ///

       /// 事务
       /// 操作类别 (stored procedure,sql)
       /// 存储过程名或Sql语句
       /// 参数
       /// 返回影响的数据行数
       public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {

SqlCommand cmd = new SqlCommand();
           PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, CommandParams);
           /*if (cmdType == CommandType.StoredProcedure)
           {
               cmd.Parameters.Add("@RETURN_VALUE", "").Direction = ParameterDirection.ReturnValue;
               cmd.ExecuteNonQuery();

val = (int)cmd.Parameters["@RETURN_VALUE"].Value;
           }
           else
               if (cmdType==CommandType.Text)
                {
                  val = cmd.ExecuteNonQuery();
                 }*/
           int val = cmd.ExecuteNonQuery();
           cmd.Parameters.Clear();

return val;
       }

 

///


       /// 返回数据集 DataReader
       ///

       ///
       ///
       ///
       ///
       public static SqlDataReader ExecuteReader(CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           SqlCommand cmd = new SqlCommand();
           SqlConnection conn = new SqlConnection(ConnectString);

try
           {
               PrepareCommand(cmd, conn, null, cmdType, cmdText, CommandParams);
               SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
               cmd.Parameters.Clear();
               return rdr;
           }
           catch (Exception ex)
           {
               conn.Close();
               //   throw new Exception("操作失败!");
               throw new Exception(ex.Message);
           }
       }

///


       /// 有事务的取数据
       ///

       ///
       ///
       ///
       ///
       ///
       public static SqlDataReader ExecuteReader(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           SqlCommand cmd = new SqlCommand();
           PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, CommandParams);
           SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
           cmd.Parameters.Clear();
           return rdr;
       }

 

public static object ExecuteScalar(CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           SqlCommand cmd = new SqlCommand();

SqlConnection conn = new SqlConnection(ConnectString);

try
           {
               PrepareCommand(cmd, conn, null, cmdType, cmdText, CommandParams);
               object val = cmd.ExecuteScalar();
               cmd.Parameters.Clear();
               return val;
           }
           catch
           {
               throw;
           }
           finally
           {
               conn.Close();
           }

}

public static object ExecuteScalar(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           SqlCommand cmd = new SqlCommand();
           PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, CommandParams);
           object val = cmd.ExecuteScalar();
           cmd.Parameters.Clear();
           return val;

}

 

///


       /// 根据Sql语句取得表
       ///

       ///
       ///
       ///
       ///
       public static DataTable ExecuteTable(CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           DataTable temptable = new DataTable();

SqlCommand cmd = new SqlCommand();

SqlConnection conn = new SqlConnection(ConnectString);

try
           {
               PrepareCommand(cmd, conn, null, cmdType, cmdText, CommandParams);

SqlDataAdapter da = new SqlDataAdapter(cmd);

SqlCommandBuilder scb = new SqlCommandBuilder(da);

da.Fill(temptable);
           }
           finally
           {
               conn.Close();
           }

return temptable;
       }


       public static DataTable ExecuteTable(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           DataTable temptable = new DataTable();
           SqlCommand cmd = new SqlCommand();

PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, CommandParams);
           SqlDataAdapter da = new SqlDataAdapter(cmd);
           SqlCommandBuilder scb = new SqlCommandBuilder(da);
           da.Fill(temptable);
           cmd.Parameters.Clear();

return temptable;

}


       ///


       /// 根据Sql语句或存储过程取得数据
       ///

       ///
       ///
       ///
       ///
       public static DataSet ExecuteDataSet(CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           SqlConnection conn = new SqlConnection(ConnectString);

SqlCommand cmd = new SqlCommand();

DataSet TempDataSet = new DataSet();

try
           {
               PrepareCommand(cmd, conn, null, cmdType, cmdText, CommandParams);
               SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd);
               sqlAdapter.Fill(TempDataSet);
               cmd.Parameters.Clear();
               return TempDataSet;

}
           finally
           {
               conn.Close();
           }

}


       public static DataSet ExecuteDataSet(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] CommandParams)
       {
           SqlCommand cmd = new SqlCommand();
           DataSet TempDataSet = new DataSet();
           PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, CommandParams);
           SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd);
           sqlAdapter.Fill(TempDataSet);
           cmd.Parameters.Clear();
           return TempDataSet;
       }

///


       /// 生成Sql语句或准备
       ///

       ///
       ///
       ///
       ///
       ///
       ///
       private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
       {

if (conn.State != ConnectionState.Open)
               conn.Open();

cmd.Connection = conn;
           cmd.CommandText = cmdText;

if (trans != null)
               cmd.Transaction = trans;

cmd.CommandType = cmdType;

if (cmdParms != null)
           {
               foreach (SqlParameter parm in cmdParms)
                   cmd.Parameters.Add(parm);
           }
       }

public static object ToDBValue(object value)
       {
           return value == null ? DBNull.Value : value;
       }

public static object FromDBValue(object dbValue)
       {
           return dbValue == DBNull.Value ? null : dbValue;
       }
   }

以上就是关于.net C# Sql数据库SQLHelper类实例代码的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号