c#SQL里的那些事

来源:互联网 发布:剑三淘宝捏脸怎么弄 编辑:程序博客网 时间:2024/05/01 03:04
//方便用来拼接sql的 不知道用处大不大,,有测试后 有很多bug  待改进 欢迎指出    public abstract class CreateSQLWhere    {           /// <summary>        /// 查询时默认条件        /// </summary>        public static string DefaultText = "";        /// <summary>        /// 查询条件汇总        /// </summary>        public static string SQLText = "";        /// <summary>        /// 查询表及其字段        /// </summary>        public static string SQL = "";        public static bool AllRecord;        /// <summary>        /// T-SQL拼接        /// </summary>        /// <param name="Text">sql</param>        /// <returns>T-SQL</returns>        public static string AddParam(string Text)        {            bool bl = false;            bl = !((DefaultText.Length == 0) && (SQL.Length == 0));            return SQLText = (SQLText + (bl ? " and " : " where ") + Text);        }        /// <summary>        /// 比较字段与要查询的值        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="Value1">值1</param>        /// <param name="Value2">值2</param>        /// <returns>T-SQL</returns>        public static string AddParamStr(string FieldName, string Value1,string Value2)        {            string str = null;            string sql = "";            //V = Value.Trim();            if (Value1.Length != 0 && Value1 != "*")            {                str = FieldName + ">= '" + Value1 + "'";            }            if (Value2.Length != 0 && Value2 != "*")            {                if (str.Length != 0)                {                    str = str + " and " + FieldName + "<= '" + Value2 + "'";                }                else                {                    str = FieldName + "<= '" + Value2 + "'";                }            }            if (str != "")            {              sql = AddParam(str);            }            return sql;        }        /// <summary>        /// Int类型查询        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="val">数值</param>        /// <returns>T-SQL</returns>        public static string AddParamInt(string FieldName, int val)        {            return AddParam(FieldName + " = " + val.ToString());        }        /// <summary>        /// Int类型数值2者之前查询(FieldName between 值1 and 值2)        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="value1">值1</param>        /// <param name="value2">值2</param>        /// <returns>T-SQL</returns>        public static string AddParamInt(string FieldName, int value1, int value2)        {            return AddParam(FieldName + " Between " + value1.ToString() + " and " + value2.ToString());        }        /// <summary>        /// Float类型数值2者之前查询        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="value1">值1</param>        /// <param name="value2">值2</param>        /// <returns>T-SQL</returns>        public static string AddParamFoalt(string FieldName, double value1, double value2)        {            return AddParam(string.Format("{0} between {1} and {2}", FieldName, value1, value2));        }                /// <summary>        /// Float类型查询        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="value">值</param>        /// <returns>T-SQL</returns>        public static string AddParamFoalt(string FieldName, double value)        {            return AddParam(string.Format("{0} = {1}", FieldName, value));        }        /// <summary>        /// 字段值在条件之间(FieldName between 值1 and 值2)        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="value1">值1</param>        /// <param name="value2">值2</param>        /// <returns>T-SQL</returns>        public static string AddParamStrBt(string FieldName, string value1, string value2)        {            return AddParam(FieldName + " Between '" + value1 + "' and '" + value2 + "'");        }        /// <summary>        /// 字段值为布尔值查询        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="value">Bool值</param>        /// <returns>T-SQL</returns>        public static string AddParamBool(string FieldName, bool value)        {            return AddParam(FieldName + (value ? "=1" : "=0"));        }        /// <summary>        /// 查询在时间段之内        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="value1">时间值1</param>        /// <param name="value2">时间值2</param>        /// <returns>T-SQL</returns>        public static string AddParamDate(string FieldName, DateTime value1, DateTime value2)        {            return AddParam(FieldName + "Between '" + value1.ToString() + "' and '" + value2.ToString() + "'");        }        /// <summary>        /// 查询在某个特定的时间        /// </summary>        /// <param name="FieldName">字段名</param>        /// <param name="value">时间值</param>        /// <returns>T-SQL</returns>        public static string AddParamDate(string FieldName, DateTime value)        {            return AddParam(FieldName + " ='" + value.ToString() + "'");        }        /// <summary>        /// 获取拼接后的T-SQL        /// </summary>        /// <returns>T-SQL</returns>        public static string GetSQLText()        {            string Text = "";            if (CreateSQLWhere.SQL.Length == 0)            {                Text = SQLText;            }            else            {                Text = SQL + SQLText;            }            return Text;        }    }

未完待续。。。。。。

原创粉丝点击