最近在参与一个服装行业智能零售的项目,在与前端交互的过程中出现了一个问题。
前端页面实现的是一个下拉框和一个输入框的组合搜索功能,返回来给我后端的就是两个参数,一个是下拉框的searchvalue,和输入框的goodsinput。最开始我的想法就是在SQL查询语句中用两个格式化字符串(%s)分别作为where语句的查询条件和查询内容,但是查询条件需要指定一个表,所以这种方法行不通。
后来我去网上查找了相似的案例,想到了字符串的拼接。将接收到的字符串通过与表名拼接成新的字符串,如下所示。
searchvalue ='a.'+searchvalue
这样参数就能表示a表中的一个字段了,接下来就可以用下面的语句完成下拉框与输入框的组合搜索了。
WHERE "+searchvalue+"='"+goodsinput+"'
不要使用 replace(sql,''')对下面的查询语句进行处理
where %s = %s,searchvalue,goodsinput
这样是行不通的,因为我之前也测试过。
希望能帮到遇到类似问题的同学,有更好的方法或错误也欢迎提出,大家一起学习,相互进步。