?? csql.cs
字號:
/*
* CSql.cs
*
* 作者:邱觀琛
* 創建時間:2002-6-7
* 最后修改:2002-6-27
*
*
* 提供一些與Sql語句及SqlServer數據庫有關的函數,包括SqlServer數據類型與
* C#類型的轉換,在sql語句中對各種類型的數據的引用方式、各種sql語句的書寫,
* 各種SqlServer函數的應用等。
*
*/
using System;
namespace CFC
{
/// <summary>
/// 提供一些與Sql語句及SqlServer數據庫有關的函數。
/// </summary>
public class CSql
{
private CSql()
{
}
#region public static string TrueFilter = "(1=1)" : 永真的條件
/// <summary>
/// 永真的條件。
/// </summary>
public static string TrueFilter = "(1=1)";
#endregion
#region public static string FalseFilter = "(1=0)" : 永假的條件
/// <summary>
/// 永假的條件。
/// </summary>
public static string FalseFilter = "(1=0)";
#endregion
#region public static Type SqlToCsType(string DataType) : 將SqlServer數據類型轉換成C#類型
/// <summary>
/// 將SqlServer數據類型轉換成C#類型。
/// </summary>
/// <param name="DataType">需要轉換的SqlServer數據類型</param>
/// <returns>轉換結果</returns>
public static Type SqlToCsType(string DataType)
{
switch (DataType.ToLower())
{
case "varchar":
return typeof(String);
case "char":
return typeof(String);
case "datetime":
return typeof(DateTime);
case "text":
return typeof(String);
case "int":
return typeof(Int16);
case "bit":
return typeof(Boolean);
case "float":
return typeof(Double);
case "money":
return typeof(Decimal);
case "decimal":
return typeof(Decimal);
}
return typeof(String);
}
#endregion
#region public static bool NeedQuot(string DataType) : 判斷在sql語句中描述指定類型的數據時是否需要加單引號
/// <summary>
/// 判斷在sql語句中描述指定類型的數據時是否需要加單引號。
/// </summary>
/// <param name="DataType">需要判斷的SqlServer數據類型</param>
/// <returns>判斷結果</returns>
public static bool NeedQuot(string DataType)
{
switch (DataType.ToLower())
{
case "varchar":
return true;
case "char":
return true;
case "datetime":
return true;
case "text":
return true;
case "int":
return false;
case "bit":
return false;
case "float":
return false;
case "money":
return false;
case "decimal":
return false;
}
return true;
}
#endregion
#region public static bool TypeIsDateTime(string DataType) : 判斷指定SqlServer數據類型是不是日期型
/// <summary>
/// 判斷指定SqlServer數據類型是不是日期型。
/// </summary>
/// <param name="DataType">需要判斷的SqlServer數據類型</param>
/// <returns>判斷結果</returns>
public static bool TypeIsDateTime(string DataType)
{
if (DataType.ToLower() == "datetime")
return true;
else return false;
}
#endregion
#region public static bool TypeIsMoney(string DataType) : 判斷指定SqlServer數據類型是不是貨幣型
/// <summary>
/// 判斷指定SqlServer數據類型是不是貨幣型。
/// </summary>
/// <param name="DataType">需要判斷的SqlServer數據類型</param>
/// <returns>判斷結果</returns>
public static bool TypeIsMoney(string DataType)
{
if (DataType.ToLower() == "money")
return true;
else return false;
}
#endregion
#region 生成一個sql條件,判斷指定字段(指定類型)與指定值之間的大小關系
#region public static string Equal(string FieldName, string DataType, object Value) : 生成一個sql條件,判斷指定字段的值等于指定值
/// <summary>
/// 生成一個sql條件,判斷指定字段等于指定值。
/// </summary>
/// <param name="FieldName">字段名</param>
/// <param name="DataType">字段的數據類型</param>
/// <param name="Value">作判斷基準的值</param>
/// <returns>sql條件</returns>
public static string Equal(string FieldName, string DataType, object Value)
{
if (TypeIsDateTime(DataType) && CType.IsDateTime(Value,false))
{
return DateEqual(FieldName,Convert.ToDateTime(Value));
}
else if (TypeIsMoney(DataType) && CType.IsDecimal(Value,false))
{
return Equal(FieldName,Convert.ToDecimal(Value));
}
else
{
return Equal(FieldName,Value);
}
}
#endregion
#region public static string NotEqual(string FieldName, string DataType, object Value) : 生成一個sql條件,判斷指定字段的值不等于指定值
/// <summary>
/// 生成一個sql條件,判斷指定字段的值不等于指定值。
/// </summary>
/// <param name="FieldName">字段名</param>
/// <param name="DataType">字段的數據類型</param>
/// <param name="Value">作判斷基準的值</param>
/// <returns>sql條件</returns>
public static string NotEqual(string FieldName, string DataType, object Value)
{
if (TypeIsDateTime(DataType) && CType.IsDateTime(Value,false))
{
return DateNotEqual(FieldName,Convert.ToDateTime(Value));
}
else if (TypeIsMoney(DataType) && CType.IsDecimal(Value,false))
{
return NotEqual(FieldName,Convert.ToDecimal(Value));
}
else
{
return NotEqual(FieldName,Value);
}
}
#endregion
#region public static string GreaterThan(string FieldName, string DataType, object ValueLess) : 生成一個sql條件,判斷指定字段的值大于指定值
/// <summary>
/// 生成一個sql條件,判斷指定字段的值大于指定值。
/// </summary>
/// <param name="FieldName">字段名</param>
/// <param name="DataType">字段的數據類型</param>
/// <param name="ValueLess">作判斷基準的值</param>
/// <returns>sql條件</returns>
public static string GreaterThan(string FieldName, string DataType, object ValueLess)
{
if (TypeIsDateTime(DataType) && CType.IsDateTime(ValueLess,false))
{
return DateGreaterThan(FieldName,Convert.ToDateTime(ValueLess));
}
else if (TypeIsMoney(DataType) && CType.IsDecimal(ValueLess,false))
{
return GreaterThan(FieldName,Convert.ToDecimal(ValueLess));
}
else
{
return GreaterThan(FieldName,ValueLess);
}
}
#endregion
#region public static string GreaterEqual(string FieldName, string DataType, object ValueLess) : 生成一個sql條件,判斷指定字段的值大于等于指定值
/// <summary>
/// 生成一個sql條件,判斷指定字段的值大于等于指定值。
/// </summary>
/// <param name="FieldName">字段名</param>
/// <param name="DataType">字段的數據類型</param>
/// <param name="ValueLess">作判斷基準的值</param>
/// <returns>sql條件</returns>
public static string GreaterEqual(string FieldName, string DataType, object ValueLess)
{
if (TypeIsDateTime(DataType) && CType.IsDateTime(ValueLess,false))
{
return DateGreaterEqual(FieldName,Convert.ToDateTime(ValueLess));
}
else if (TypeIsMoney(DataType) && CType.IsDecimal(ValueLess,false))
{
return GreaterEqual(FieldName,Convert.ToDecimal(ValueLess));
}
else
{
return GreaterEqual(FieldName,ValueLess);
}
}
#endregion
#region public static string LessThan(string FieldName, string DataType, object ValueGreater) : 生成一個sql條件,判斷指定字段的值小于指定值
/// <summary>
/// 生成一個sql條件,判斷指定字段的值小于指定值。
/// </summary>
/// <param name="FieldName">字段名</param>
/// <param name="DataType">字段的數據類型</param>
/// <param name="ValueGreater">作判斷基準的值</param>
/// <returns>sql條件</returns>
public static string LessThan(string FieldName, string DataType, object ValueGreater)
{
if (TypeIsDateTime(DataType) && CType.IsDateTime(ValueGreater,false))
{
return DateLessThan(FieldName,Convert.ToDateTime(ValueGreater));
}
else if (TypeIsMoney(DataType) && CType.IsDecimal(ValueGreater,false))
{
return LessThan(FieldName,Convert.ToDecimal(ValueGreater));
}
else
{
return LessThan(FieldName,ValueGreater);
}
}
#endregion
#region public static string LessEqual(string FieldName, string DataType, object ValueGreater) : 生成一個sql條件,判斷指定字段的值小于等于指定值
/// <summary>
/// 生成一個sql條件,判斷指定字段的值小于等于指定值。
/// </summary>
/// <param name="FieldName">字段名</param>
/// <param name="DataType">字段的數據類型</param>
/// <param name="ValueGreater">作判斷基準的值</param>
/// <returns>sql條件</returns>
public static string LessEqual(string FieldName, string DataType, object ValueGreater)
{
if (TypeIsDateTime(DataType) && CType.IsDateTime(ValueGreater,false))
{
return DateLessEqual(FieldName,Convert.ToDateTime(ValueGreater));
}
else if (TypeIsMoney(DataType) && CType.IsDecimal(ValueGreater,false))
{
return LessEqual(FieldName,Convert.ToDecimal(ValueGreater));
}
else
{
return LessEqual(FieldName,ValueGreater);
}
}
#endregion
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -