-
#region TheSQLGet
/// <summary>
/// 获得输出的SQL语句
/// </summary>
/// <param name="xdbHelper"></param>
/// <returns></returns>
protected override string TheSQLGet(DBHelper xdbHelper)
{
#region 逻辑代码
string theResult = null;
// 标识是否创建或打开数据库链接 //
bool bIsCreate = true;
if (xdbHelper == null)
{
// 如果 xdbHelper 为null //
// 则new一个数据库操作实体 //
xdbHelper
=
SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 如果 xdbHelper 不为null //
// 判断 xdbHelper是否打开链接 //
// 相当于是否执行 xdbHelper.OpenDBHelper(); //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
{
// 没有打开,则打开链接 //
xdbHelper.OpenDBHelper();
}
// 业务逻辑操作实体 //
// insert/update/delete等操作 //
SlowX.ExamLib.Business.UTB_EXAM_COURSE
bll
=
SlowX.ExamLib.Business.UTB_EXAM_COURSE.instance;
// 组合SQL的逻辑实体 //
SlowX.ExamLib.Entity.UTB_EXAM_COURSE
entity
=
new SlowX.ExamLib.Entity.UTB_EXAM_COURSE();
IWhereDriver iwhere = entity;
// ===调用代码=== //
iwhere.WhereAddStrDefaultLike
(
entity._TheName,
"A"
);
// 执行List操作 //
// 这里做DEMO,仅打印输出的SQL语句 //
// bll.List(entity, xdbHelper);
theResult
=
bll.i_iBuildSQL.BuildSqlList(entity, xdbHelper);
if (bIsCreate)
{
// 关闭数据库链接 //
// 如果用了事务,提交数据库链接 //
xdbHelper.EndDBHelper();
}
}
catch (Exception err)
{
if (bIsCreate)
{
// 关闭数据库链接 //
// 如果用了事务,回滚数据库链接 //
xdbHelper.TranDBHelper();
}
throw err;
}
finally
{
if (bIsCreate)
{
// 判断数据库操作是否正确关闭 //
// 如果没有正确关闭,则关闭并抛出异常提示代码缺陷 //
xdbHelper.FinallyDBHelper();
}
}
return theResult;
#endregion 逻辑代码
}
#endregion TheSQLGet
-
select
t.ID, t.TheName, t.CreateTime,
t.UpdateTime
from UTB_EXAM_COURSE t
where lower(t.TheName) like '%'+'a'+'%'
@tp1 = 'a'
select
t.ID, t.TheName, t.CreateTime,
t.UpdateTime
from UTB_EXAM_COURSE t
where lower(t.TheName) like '%'+@tp1+'%'
@tp1 a String Input SqlParameter
-
/// <summary>
/// Where的Str查询(小写和trim后like指定值)
/// </summary>
/// <param name="info">字段值</param>
/// <param name="theValue">查询值</param>
public void WhereAddStrDefaultLike
(
EntityFieldInfo info,
string theValue
)
{
if (info == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入参数:"
+ "EntityFieldInfo info"
+ "为null。"
);
}
if (theValue == null || theValue.Length == 0)
return;
theValue = theValue.Trim();
if (theValue.Length == 0)
return;
theValue = theValue.ToLower();
m_ListIQueryItem.Add
(
new DataColumnQueryStrItem
(
info,
SlowX.Core.CoreClasses.DataColumnQueryAssist.dataColumnQueryAssistEmStringCaseLower,
SlowX.DAL.Enums.SqlStrExprss.EmSqlStrExprss._Like_,
theValue
)
);
}
/// <summary>
/// Where的Str查询(小写和trim后like指定值)
/// </summary>
/// <param name="info">字段值</param>
/// <param name="theValue">查询值</param>
/// <param name="allowEmptyValue">是否允许查询值为空,如果允许,当查询值为空时候不做查询;否则抛出异常</param>
public void WhereAddStrDefaultLike
(
EntityFieldInfo info,
string theValue,
bool allowEmptyValue
)
{
if (info == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入参数:"
+ "EntityFieldInfo info"
+ "为null。"
);
}
if (theValue == null || theValue.Length == 0)
{
if (allowEmptyValue)
return;
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入参数:"
+ "string theValue"
+ "为null。"
);
}
theValue = theValue.Trim();
if (theValue.Length == 0)
{
if (allowEmptyValue)
return;
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "传入参数:"
+ "string theValue"
+ "为空。"
);
}
theValue = theValue.ToLower();
m_ListIQueryItem.Add
(
new DataColumnQueryStrItem
(
info,
SlowX.Core.CoreClasses.DataColumnQueryAssist.dataColumnQueryAssistEmStringCaseLower,
SlowX.DAL.Enums.SqlStrExprss.EmSqlStrExprss._Like_,
theValue
)
);
}