0

0

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

零下一度

零下一度

发布时间:2017-06-23 16:16:55

|

2210人浏览过

|

来源于php中文网

原创

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);

Python操作Mysql实例代码教程
Python操作Mysql实例代码教程

本文介绍了Python操作MYSQL、执行SQL语句、获取结果集、遍历结果集、取得某个字段、获取表字段名、将图片插入数据库、执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐。如果想查看在线版请访问:https://www.jb51.net/article/34102.htm

下载

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;
       }
   }

相关专题

更多
C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

55

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 7.4万人学习

python编程入门系列图文教程
python编程入门系列图文教程

共65课时 | 24.7万人学习

vscode其实很简单
vscode其实很简单

共72课时 | 29万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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