惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
博客园_首页
Jina AI
Jina AI
WordPress大学
WordPress大学
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
美团技术团队
IT之家
IT之家
爱范儿
爱范儿
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】

博客园 - 强悍的抽屉

基于 Dapper 的一个 DbUtils WebAPI 操作返回 c#版 mqtt 3.1.1 client 实现 mqtt 协议之 PINGREQ, PINGRESP httpWebRequest 文件下载 一个 go 文件服务器 ssdb MongoDB 刷新几次就报错 C# Win32API - 强悍的抽屉 - 博客园 回车跳转控件焦点 让程序只启动一次 -- Mutex C# 排序 WINDEF.h 变量类型 SqlHelper 数据库操作类 第一个 Windows 应用程序 JavaScript 字符串处理函数 - 强悍的抽屉 - 博客园 JavaScript 字符串函数扩充 - 强悍的抽屉 - 博客园 C# 字符串处理一些方法 希望找人一起写个 Ajax 的封装 几种流行的JS框架的选择
SqlHelper 数据库操作类2
强悍的抽屉 · 2009-03-02 · via 博客园 - 强悍的抽屉

using System;
using System.Data;
using System.Data.SqlClient;namespace lsb.DBUtility
{
    
/// <summary>
    
/// SQL Server 数据库操作类
    
/// </summary>
    public class SqlHelper
    {
        
private static string connectionString = "Data Source=.;Initial Catalog=FBMS;Integrated Security=True";/// <summary>
        
/// 执行查询, 返回单个值
        
/// </summary>
        public static object ExecuteScalar(string sql)
        {
            
using (SqlConnection conn = new SqlConnection(connectionString))
            {
                
using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    
try
                    {
                        conn.Open();
                        
return cmd.ExecuteScalar();
                    }
                    
catch
                    {
                        
throw;
                    }
                }
            }
        }
/// <summary>
        
/// 执行带参数查询, 返回单个值
        
/// </summary>
        public static object ExecuteScalar(string sql, SqlParameter[] cmdParms)
        {
            
using (SqlConnection conn = new SqlConnection(connectionString))
            {
                
using (SqlCommand cmd = new SqlCommand())
                {
                    
try
                    {
                        PrepareCommand(cmd, conn, 
null, sql, cmdParms);
                        
object obj = cmd.ExecuteScalar();
                        cmd.Parameters.Clear();
                        
return obj;
                    }
                    
catch
                    {
                        
throw;
                    }
                }
            }
        }
/// <summary>
        
/// 执行查询, 返回多个值
        
/// </summary>
        public static SqlDataReader ExecuteReader(string sql)
        {
            
using (SqlConnection conn = new SqlConnection(connectionString))
            {
                
using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    
try
                    {
                        conn.Open();
                        
return cmd.ExecuteReader();
                    }
                    
catch
                    {
                        
throw;
                    }
                }
            }
        }
/// <summary>
        
/// 执行带参数查询, 返回多个值
        
/// </summary>
        public static SqlDataReader ExecuteReader(string sql, SqlParameter[] cmdParms)
        {
            
using (SqlConnection conn = new SqlConnection(connectionString))
            {
                
using (SqlCommand cmd = new SqlCommand())
                {
                    
try
                    {
                        PrepareCommand(cmd, conn, 
null, sql, cmdParms);
                        SqlDataReader sdr 
= cmd.ExecuteReader();
                        cmd.Parameters.Clear();
                        
return sdr;
                    }
                    
catch
                    {
                        
throw;
                    }
                }
            }
        }
/// <summary>
        
/// 执行非查询, 返回影响行数
        
/// </summary>
        public static int ExceuteNonQuery(string sql, params SqlParameter[] cmdParms)
        {
            
using (SqlConnection conn = new SqlConnection(connectionString))
            {
                
using (SqlCommand cmd = new SqlCommand())
                {
                    
try
                    {
                        PrepareCommand(cmd, conn, 
null, sql, cmdParms);
                        
int rows = cmd.ExecuteNonQuery();
                        cmd.Parameters.Clear();
                        
return rows;
                    }
                    
catch
                    {
                        
throw;
                    }
                }
            }
        }
/// <summary>
        
/// 
        
/// </summary>
        
/// <param name="cmd"></param>
        
/// <param name="conn"></param>
        
/// <param name="trans"></param>
        
/// <param name="cmdText"></param>
        
/// <param name="cmdParms"></param>
        private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
        {
            
if ((conn.State == ConnectionState.Broken) || (conn.State == ConnectionState.Closed))
            {
                conn.Open();
            }

            cmd.Connection 

= conn;
            cmd.CommandText 
= cmdText;if (trans != null)
                cmd.Transaction 
= trans;

            cmd.CommandType 

= CommandType.Text;if (cmdParms != null)
            {
                
foreach (SqlParameter parm in cmdParms)
                {
                    
if ((parm.Direction == ParameterDirection.InputOutput || parm.Direction == ParameterDirection.Input) && (parm.Value == null))
                    {
                        parm.Value 
= DBNull.Value;
                    }
                    cmd.Parameters.Add(parm);
                }
            }
        }
    }
}