using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

/// <summary>
/// SqlHelper 的摘要说明
/// </summary>
public class SqlHelper
{
    public static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["pubsConnectionString"].ConnectionString;

    public static SqlDataReader ExecuteReader(string ConnectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
    {
        SqlCommand cmd = new SqlCommand();  //命令对象实例化
        SqlConnection conn = new SqlConnection(ConnectionString);   //链接数据实例化   真正链接数据库
        try
        {
            PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
            SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);   //以数据流的型式输出数据给 sdr
            cmd.Parameters.Clear();
            return sdr;
        }
        catch
        {
            conn.Close();
            throw;
        }
    }
    //返回数据流类型的值  查询

    public static DataSet ExecuteDataSet(string Mycn, CommandType cmdType, string cmdText)
    {
        DataSet ds = new DataSet();
        using (SqlConnection conn = new SqlConnection(Mycn))
        {
            SqlDataAdapter sda = new SqlDataAdapter(cmdText, conn);
            sda.SelectCommand.CommandType = cmdType;
            sda.Fill(ds);
            return ds;
        }
    }

    private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trams, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
    {
        if (conn.State == ConnectionState.Open)
        {
            conn.Open();   //打开数据库
            cmd.Connection = conn;    //
            cmd.CommandText = cmdText;    //指定操作语句
            //if(trams!=null)
            //{
            //cmd.Transaction = trams;            
            //}
            //cmd.CommandType = cmdType;
            //if (cmdParms != null)
            //{
            //    foreach (Sqlparameter parm in cmdParms)
            //    {
            //        cmd.Parameters.Add(parm);
            //    }
            //}
        }

    }
    //操作类 

    public static int ExecuteNoQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
    {
        SqlCommand cmd = new SqlCommand();
        PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
        int val = cmd.ExecuteNonQuery();
        cmd.Parameters.Clear();
        return val;
    }
    //执行类  删除、修改、插入

    public static object ExecuteScalar(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
    {
        SqlCommand cmd = new SqlCommand();
        PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
        object val = cmd.ExecuteScalar();
        cmd.Parameters.Clear();
        return val;
    }
    //返回首行首列
}

posted on 2009-03-18 13:48  民工  阅读(219)  评论(0编辑  收藏  举报