SqlHelper类的使用

SqlHelper.cs

public static class SqlHelper

    {

        private static readonly string conStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;



        public static int ExecuteNonQuery(string sql, CommandType cmdType, params SqlParameter[] pms)

        {

            using (SqlConnection con = new SqlConnection(conStr))

            {

                using (SqlCommand cmd = new SqlCommand(sql, con))

                {

                    cmd.CommandType = cmdType;

                    if (pms != null)

                    {

                        cmd.Parameters.AddRange(pms);

                    }

                    con.Open();

                    return cmd.ExecuteNonQuery();

                }

            }

        }



        public static object ExecuteScalar(string sql, CommandType cmdType, params SqlParameter[] pms)

        {

            using (SqlConnection con = new SqlConnection(conStr))

            {

                using (SqlCommand cmd = new SqlCommand(sql, con))

                {

                    cmd.CommandType = cmdType;

                    if (pms != null)

                    {

                        cmd.Parameters.AddRange(pms);

                    }

                    con.Open();

                    return cmd.ExecuteScalar();

                }

            }

        }





        public static SqlDataReader ExecuteReader(string sql, CommandType cmdType, params SqlParameter[] pms)

        {

            SqlConnection con = new SqlConnection(conStr);

            try

            {

                using (SqlCommand cmd = new SqlCommand(sql, con))

                {

                    cmd.CommandType = cmdType;

                    if (pms != null)

                    {

                        cmd.Parameters.AddRange(pms);

                    }

                    con.Open();

                    SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

                    return reader;

                }

            }

            catch

            {

                con.Dispose();

                throw;

            }

        }





        public static DataTable ExecuteDataTable(string sql, CommandType cmdType, params SqlParameter[] pms)

        {

            using (SqlDataAdapter sda = new SqlDataAdapter(sql, conStr))

            {

                DataTable dt = new DataTable();



                sda.SelectCommand.CommandType = cmdType;

                if (pms != null)

                {

                    sda.SelectCommand.Parameters.AddRange(pms);

                }

                sda.Fill(dt);

                return dt;

            }

        }

    }

 

多添加搜索

  #region 多条件搜索使用带参数的sql语句



            StringBuilder sql = new StringBuilder("select * from PhoneNum");

            List<string> wheres = new List<string>();

            List<SqlParameter> listParameter = new List<SqlParameter>();



            if (cboGroup.SelectedIndex != 0)

            {

                //sql.Append(" and ptypeid=" + cboGroup.Text.Split('|')[0]);

                //wheres.Add(" ptypeid=" + cboGroup.Text.Split('|')[0]);

                wheres.Add(" ptypeid=@typeid ");

                listParameter.Add(new SqlParameter("@typeid", cboGroup.Text.Split('|')[0]));

            }



            if (txtSearchName.Text.Trim().Length > 0)

            {

                // sql.Append(" and pname like '%" + txtSearchName.Text.Trim() + "%'");

                wheres.Add(" pname like @pname ");

                //pname like '%乔%'

                //pname liek '%'+@pname+'%'

                listParameter.Add(new SqlParameter("@pname", "%" + txtSearchName.Text.Trim() + "%"));

            }



            if (txtSearchCellPhone.Text.Trim().Length > 0)

            {

                //sql.Append(" and  pcellphone like '%" + txtSearchCellPhone.Text.Trim() + "%'");

                //wheres.Add(" pcellphone like '%" + txtSearchCellPhone.Text.Trim() + "%'");

                wheres.Add(" pcellphone like @cellphone ");

                listParameter.Add(new SqlParameter("@cellphone", "%" + txtSearchCellPhone.Text.Trim() + "%"));

            }





            //判断用户是否选择了条件

            if (wheres.Count > 0)

            {

                string wh = string.Join(" and ", wheres.ToArray());

                sql.Append(" where " + wh);

            }







            SqlHelper.ExecuteDataTable(sql.ToString(), listParameter.ToArray());

            #endregion

 

你可能感兴趣的:(help)