using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web;
namespace DataAccess
{
    public class DataAccess
    {
        SqlConnection con = new SqlConnection("server=PC-200912271213;database=FlowerDB;Integrated Security=SSPI;");//server=DFDAWEFDSSEW;database=FlowerDB;user=sa;pwd=sa;
        SqlCommand cmd = null;
        SqlDataAdapter da = null;
        DataSet ds = null;
        public static string WebPath;
        /// <summary>
        /// 绑定到控件上
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="IsPro"></param>
        /// <param name="sp"></param>
        /// <returns></returns>
        public DataSet GetDataSet(string sql, bool IsPro, params SqlParameter[] sp)
        {
            cmd = new SqlCommand(sql, con);
            if (IsPro)
            {
                cmd.CommandType = CommandType.StoredProcedure;
            }
            if (sp != null)
            {
                for (int i = 0; i < sp.Length; i++)
                {
                    cmd.Parameters.Add(sp[i]);
                }
            }
            da = new SqlDataAdapter(cmd);
            ds = new DataSet();
            da.Fill(ds);
            return ds;
        }
        /// <summary>
        /// 增删改
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="IsProc"></param>
        /// <param name="sp"></param>
        /// <returns></returns>
        public int GetCount(string sql, bool IsProc, params SqlParameter[] sp)
        {
            cmd = new SqlCommand(sql, con);
            if (IsProc)
            {
                cmd.CommandType = CommandType.StoredProcedure;
            }
            if (sp != null)
            {
                for (int i = 0; i < sp.Length; i++)
                {
                    cmd.Parameters.Add(sp[i]);
                }
            }
            try
            {
                con.Open();
                int i = cmd.ExecuteNonQuery();
                return i;
            }
            catch(Exception e)
            {
                SetError(e);
                return 0;
            }
            finally
            {
                con.Close();
            }
        }
        /// <summary>
        /// 查询单值
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="IsProc"></param>
        /// <param name="sp"></param>
        /// <returns></returns>
        public object GetSingValue(string sql, bool IsProc, params SqlParameter[] sp)
        {
            cmd = new SqlCommand(sql, con);
            if (IsProc)
            {
                cmd.CommandType = CommandType.StoredProcedure;
            }
            if (sp != null)
            {
                for (int i = 0; i < sp.Length; i++)
                {
                    cmd.Parameters.Add(sp[i]);
                }
            }
            try
            {
                con.Open();
                object i = cmd.ExecuteScalar();
                return i;
            }
            catch
            {
                throw;
            }
            finally
            {
                con.Close();
            }
        }
}