这样的查询前端界面,后端是如何生成查询语句的?

eaglexie 2013-07-01 08:41:23


这样的查询前端界面,后端是如何生成查询语句的?
查询界面是选择的,可以只填其中一部份,也可以全部填,
那么后端查询语句要怎么写?
...全文
399 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不过上面的三个写参数的都有问题。应该写为,例如: int.Parse(Request[PROJECT_DROPDOWNLIST].Trim()) Request[START_TIME].Trim()).Replace("'","''") Request[END_TEIM].Trim().Replace("'","''") 知道保证sql语法,是数据库编程人员的基本素质,是必须要强调的基本安全常识。不要简单地把界面传来的字符串拼接到sql。
  • 打赏
  • 举报
回复
引用 2 楼 zhu1986lu 的回复:
根据前端控件的值判断组合SQL语句,例子:
                StringBuilder sb = new StringBuilder();

                if (!string.IsNullOrEmpty(Request[PROJECT_DROPDOWNLIST]) && DEFAULT_SELECT_PARENT_DROPDOWN_VALUE != Request[PROJECT_DROPDOWNLIST])
                {
                    sb.AppendFormat(" AND R.PROJECT_ID = {0}", Request[PROJECT_DROPDOWNLIST].Trim());
                }


                if (!string.IsNullOrEmpty(Request[START_TIME]))
                {
                    sb.AppendFormat(" AND R.REPAIR_DATE  >= TO_DATE('{0}','yyyy-mm-dd hh24:mi:ss')", Request[START_TIME].Trim());
                }

                if (!string.IsNullOrEmpty(Request[END_TEIM]))
                {
                    sb.AppendFormat(" AND R.REPAIR_DATE  <= TO_DATE('{0}','yyyy-mm-dd hh24:mi:ss')", Request[END_TEIM].Trim());
                }

                return sb.ToString();
是这样的。就是经典的sql语句编程技巧:拼接字符串。
敛我半世癫狂 2013-07-01
  • 打赏
  • 举报
回复
根据前端控件的值判断组合SQL语句,例子:
                StringBuilder sb = new StringBuilder();

                if (!string.IsNullOrEmpty(Request[PROJECT_DROPDOWNLIST]) && DEFAULT_SELECT_PARENT_DROPDOWN_VALUE != Request[PROJECT_DROPDOWNLIST])
                {
                    sb.AppendFormat(" AND R.PROJECT_ID = {0}", Request[PROJECT_DROPDOWNLIST].Trim());
                }


                if (!string.IsNullOrEmpty(Request[START_TIME]))
                {
                    sb.AppendFormat(" AND R.REPAIR_DATE  >= TO_DATE('{0}','yyyy-mm-dd hh24:mi:ss')", Request[START_TIME].Trim());
                }

                if (!string.IsNullOrEmpty(Request[END_TEIM]))
                {
                    sb.AppendFormat(" AND R.REPAIR_DATE  <= TO_DATE('{0}','yyyy-mm-dd hh24:mi:ss')", Request[END_TEIM].Trim());
                }

                return sb.ToString();

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧