SqlHelper 数据库操作类2

 

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

你可能感兴趣的:(help)