SQLHelper

<!-- webconfig中配置 -->
 <connectionStrings>
    <add name="Connection" connectionString="server=(LocalDB)\Software;database=D:\XMEN\TTAXSOFTWARE.MDF;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
  </connectionStrings>     
 string connStr=ConfigurationManager.ConnectionStrings["Connection"].ToString();
//执行查询语句并返回一个表 public DataTable ExecuteDataTable(string sql,params SqlParameter[] parameters) //因为不确定SQL语句的参数有几个,所以使用了长度可变参数,但必须放到后面 { using (SqlConnection conn = new SqlConnection(connStr))//到数据库的连接 { conn.Open();//打开数据库连接 using (SqlCommand cmd = conn.CreateCommand())//创建执行对象 { cmd.CommandText = sql;//给cmd赋值SQL语句 cmd.Parameters.AddRange(parameters);//把SQL语句参数添加到cmd DataSet dataset = new DataSet();//新建DataSet对象,用于保存查询结果 SqlDataAdapter adapter = new SqlDataAdapter(cmd);//把执行cmd,更新数据结果到adapter对象 adapter.Fill(dataset);//adapter对象的Fill方法把结果添加到DataSet对象中 return dataset.Tables[0];//返回一个查询结果的一个表 } } } //执行参数化SQL语句,返回受影响的行数 public int ExecuteNonQuery(string sql,params SqlParameter[] parameters) { using (SqlConnection conn = new SqlConnection(connStr))//到数据库的连接 { conn.Open();//打开数据库连接 using(SqlCommand cmd= conn.CreateCommand())//创建执行对象 { cmd.CommandText= sql;//给cmd赋值SQL语句 cmd.Parameters.AddRange(parameters);//添加SQL语句中的参数5 return cmd.ExecuteNonQuery();//执行数据库语句并返回受影响的行数 } } }
   //存储过程,返回一个表
        public DataTable ExecuteDataTablePro(string ProcedureName, params SqlParameter[] pars)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    DataTable dataTable = new DataTable();
                    try
                    {
                        cmd.CommandType = CommandType.StoredProcedure;//指定执行存储过程操作
                        cmd.CommandText = ProcedureName;//存储过程名称
                        if (pars != null)
                        {
                            //遍历参数,添加到SqlCommand 对象子执行
                            foreach (SqlParameter parm in pars)
                                cmd.Parameters.Add(parm);//
                        }
                        DataSet dataset = new DataSet();//新建DataSet对象,用于保存查询结果
                        SqlDataAdapter adapter = new SqlDataAdapter(cmd);//把执行cmd,更新数据结果到adapter对象
                        adapter.Fill(dataset);//adapter对象的Fill方法把结果添加到DataSet对象中
                        dataTable = dataset.Tables[0];
                    }
                    catch (Exception e)
                    {
                        string ExecuteResult = e.Message;
                        Console.Write(ExecuteResult);
                        return null;
                    }
                    finally
                    {
                        conn.Close();
                        cmd.Parameters.Clear();
                    }

                    return dataTable;
                }
            }
        }
        //返回行数
        public int ExecuteNonQueryPro(string ProcedureName, params SqlParameter[] pars)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    int num = 0;
                    try
                    {
                        cmd.CommandType = CommandType.StoredProcedure;//指定执行存储过程操作
                        cmd.CommandText = ProcedureName;//存储过程名称
                        if (pars != null)
                        {
                            //遍历参数,添加到SqlCommand 对象子执行
                            foreach (SqlParameter parm in pars)
                                cmd.Parameters.Add(parm);//
                        }
                        num = cmd.ExecuteNonQuery();
                    }
                    catch (Exception e)
                    {
                        string ExecuteResult = e.Message;
                        Console.Write(ExecuteResult);
                        return 0;
                    }
                    finally
                    {
                        conn.Close();
                    }
                    return num;//执行数据库语句并返回受影响的行数
                }

 

posted @ 2017-03-23 16:53  SkyLeo  阅读(135)  评论(0编辑  收藏  举报