根据dudu上次指点有了下边的sqlhepler

 

优点是出现错误的时候可以返回 错误信息,欢迎指点批评

sqlhepler

 class sql
    {
        private static readonly string connectionString = "server=.;uid=sa;password=sa;database=LumigentDemoDB";
            //System.Configuration.ConfigurationManager.ConnectionStrings["sqlString"].ConnectionString;

        //返回信息
        public class DataAndInformation
        {
            //返回信息
            public string Message { get; set; }
            //返回的任意数据 可以使dataset datatable  object 可以是影响的行数  增删改查返回的数据都用这个
            public object obj { get; set; }
           
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="param">查询参数</param>
        /// <param name="CommandText">存储过程名称或sql语句</param>
        /// <param name="CommandType">sql类型语句or存储过程</param>
        /// <returns>DataAndInformation</returns>
        public static DataAndInformation QueryData(string CommandText, CommandType CommandType, SqlParameter[] param)
        {
            DataAndInformation di = new DataAndInformation();
            DataSet ds = new DataSet();
            SqlConnection conn=null;
            try
            {
                conn = new SqlConnection(connectionString);
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = CommandText;
                cmd.CommandType = CommandType;
                cmd.Parameters.AddRange(param);//如果没有参数就注释掉
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                sda.Fill(ds);
                di.obj = ds;
            }
            catch (Exception ex)
            {
                di.Message = ex.ToString();
                di.obj = null;
            }
            finally
            {
                conn.Close();
            }
            return di;
        }
    }

DLL

        string CommanText = "select * from Customers where custid>@custid";
            int custid = 2;
            CommandType CommandType = CommandType.Text;
            SqlParameter[] param = new SqlParameter[]{
                new SqlParameter("@custid",SqlDbType.Int){Value=custid}
            };
            sql.DataAndInformation di = new sql.DataAndInformation();
            di = sql.QueryData(CommanText, CommandType, param);
            DataSet ds = (DataSet)di.obj;
            string message = di.Message;
            if (message == null)
            {
                Console.WriteLine("\n执行成功\n");
                if (ds == null)
                    Console.WriteLine("\n没有数据\n");
                else
                {
                    Console.WriteLine(ds.Tables.Count);
                    Console.WriteLine(ds.Tables[0].Rows.Count);
                }
            }
            else
            {
                Console.WriteLine("{0}:\n{1}", "执行失败,详细信息:", message);
            }

 

 

 

posted @ 2012-05-04 18:55  一个土豆一棵青菜  阅读(251)  评论(0编辑  收藏  举报