SQLHelper数据库助手类C#源码VS2010

 

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Data;
using System.Data.SqlClient;


namespace DAL
{
    
public class SQLHelper
    {
        
private SqlConnection conn = null;
        
private SqlCommand cmd = null;
        
private SqlDataReader sdr = null;
        
private DataSet ds = new DataSet();
        
private SqlDataAdapter sda = null;
        
public SQLHelper()
        {
            
string connStr = @"server=webServer\SQLExpress;database=yuqing;uid=sa;pwd=hbjohnsan707";//此处改为读txt文件
            
//StreamReader sr = new StreamReader("config.txt");
            
//string connStr = sr.ToString();

            conn 
= new SqlConnection(connStr);
        }
        
private SqlConnection GetConn()
        {
            
if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }

            
return conn;
        }


        
/// <summary>
        
///  该方法执行传入的SQL“增、删、改”语句或存储过程
        
/// </summary>
        
/// <param name="cmdText">SQL语句</param>
        
/// <param name="ct">语句类型</param>
        
/// <returns></returns>
        public int ExecuteNonQuery(string cmdText, CommandType ct)
        {
            
////string connStr = @"server=webServer\SQLExpress;database=yuqing;uid=sa;pwd=hbjohnsan707";
            
////SqlConnection conn = new SqlConnection(connStr);
            
////string sql = "INSERT INTO [yuqing].[dbo].[中央采用]([题目],[内容],[采用时间],[加入日期],[采用刊物]) VALUES('人民','磊品','2010-5-23','2011-5-31','信息摘报')";
            
////conn.Open();
            
////SqlCommand cmd = new SqlCommand(sql, conn);
            //SqlCommand cmd = new SqlCommand(sql, GetConn());
            
//int res = cmd.ExecuteNonQuery();
            
//conn.Close();
            
//return res;
            int res;
            
try
            {
                cmd 
= new SqlCommand(cmdText, GetConn());
                cmd.CommandType 
= ct;
                res 
= cmd.ExecuteNonQuery();
            }
            
catch (Exception ex)
            {

                
throw ex;
            }
            
finally
            {
                
if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }

            }

            
return res;

        }
        
/// <summary>
        
/// 该方法执行"带参数"传入的SQL“增、删、改”语句或存储过程
        
/// </summary>
        
/// <param name="cmdText">SQL语句</param>
        
/// <param name="paras">参数</param>
        
///  /// <param name="ct">语句类型</param>
        
/// <returns></returns>
        public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct)
        {

            
int res;
            
using (cmd = new SqlCommand(cmdText, GetConn()))
            {
                cmd.Parameters.AddRange(paras);
                cmd.CommandType 
= ct;
                res 
= cmd.ExecuteNonQuery();
            }

            
return res;

        }
        
/// <summary>
        
/// 该方法执行传入的SQL“查询”语句或存储过程
        
/// </summary>
        
/// <param name="cmdText">SQL语句</param>
        
/// <param name="ct">语句类型</param>
        
/// <returns>返回数据表--DataTable类型</returns>
        public DataTable ExecuteQuery(string cmdText, CommandType ct)
        {
            DataTable dt 
= new DataTable();
            
//string connStr = @"server=webServer\SQLExpress;database=yuqing;uid=sa;pwd=hbjohnsan707";
            
//SqlConnection conn = new SqlConnection(connStr);
            
//conn.Open();
            
//SqlCommand cmd = new SqlCommand(sql, conn);
            
//SqlDataReader sdr = cmd.ExecuteReader();
            
//dt.Load(sdr);
            
//conn.Close();
            cmd = new SqlCommand(cmdText, GetConn());
            cmd.CommandType 
= ct;
            
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            {
                dt.Load(sdr);
            }
            
return dt;
        }
        
/// <summary>
        
///  该方法执行"带参数"传入的SQL“查询”语句或存储过程
        
/// </summary>
        
/// <param name="cmdText">SQL语句</param>
        
/// <param name="paras">参数</param>
        
/// <param name="ct">语句类型</param>
        
/// <returns>返回数据表--DataTable类型</returns>
        public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct)
        {
            DataTable dt 
= new DataTable();
            
//string connStr = @"server=webServer\SQLExpress;database=yuqing;uid=sa;pwd=hbjohnsan707";
            
//SqlConnection conn = new SqlConnection(connStr);
            
//conn.Open();
            
//SqlCommand cmd = new SqlCommand(sql, conn);
            
//SqlDataReader sdr = cmd.ExecuteReader();
            
//dt.Load(sdr);
            
//conn.Close();
            cmd = new SqlCommand(cmdText, GetConn());
            cmd.Parameters.AddRange(paras);
            cmd.CommandType 
= ct;
            
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            {
                dt.Load(sdr);
            }
            
return dt;
        }


        
/// <summary>
        
/// 根据输入的SQL语句检索数据库数据
        
/// </summary>
        
/// <param name="cmdText">SQL语句</param>
        
/// <param name="tableName">内存中表名</param>
        
/// <returns></returns>
        public DataSet SelectDataBase(string cmdText, string tableName)
        {            
            sda 
= new SqlDataAdapter(cmdText, conn);
            ds.Clear();
            sda.Fill(ds, tableName);
            
return ds;
        }

        
/// <summary>
        
/// 
        
/// </summary>
        
/// <param name="changedDataSet"></param>
        
/// <param name="tableName"></param>
        
/// <returns></returns>
        //public DataSet UpdataDataBase(string cmdText,DataSet changedDataSet, string tableName)
        
//{
        
//    sda = new SqlDataAdapter(cmdText,conn);
        
//    sda.Update(changedDataSet, tableName);
        
//    return changedDataSet;
        
//}




    }


}


 

posted @ 2011-05-25 18:58  C#&SQL  阅读(1164)  评论(0)    收藏  举报