读书人

50分乞援!怎样获取表单参数拼接成sql

发布时间: 2011-11-21 22:53:08 作者: rapoo

50分求助!急!怎样获取表单参数拼接成sql语句?
我的jsp页面上有这样一个表单,是用来实现多条件查询的,但是不知道怎样将表单的参数获取到,并且拼接成一个完整的sql语句,还请高手帮忙看一下,最好给出代码,一定给分!
<form method= "POST " action= "sql.jsp " >
<input type= "hidden " name= "action " value= "compoundSearch ">
<input type= "button " name= "add_line " value= "增加条件 " onClick= "AddFieldInput() " >
<input type= "button " name= "add_line " value= "减少条件 " onClick= "DeleteFieldInput() " >
<input type= "button " value= "搜索 " name= "tj " onClick= "checkstrSQL(); " >
<!-- 该图层用于组合查询界面-->
<div id= "selectData ">
<div id= "selectItem " >
<table>
<tr>
<td align= "center " width= '40% '> 数据字段 </td>
<td width= '15% ' align= "center "> 操作符 </td>
<td width= '30% ' align= "center "> 取值 </td>
<td width= '15% ' align= "center "> 关系 </td>
</tr>
<tr bgcolor= "#FFFFFF ">
<td align= "center " width= '40% '>
<select id= "selectField " size= "1 " name= "selectField ">
<option value= "A.user_id "> 编号 </option>
<option value= "A.user_name "> 登录名 </option>
<option value= "DateField:A.reg_date "> 注册时间 </option>

</select>
</td>
<td align= "center " width= '15% '>
<select size= "1 " name= "selectOpration " >


<option value= "LIKE "> 包含 </option>
<option value= "= "> 等于 </option>
</select> </td>
<td align= "center " width= '30% '> <input type= "text " name= "selectValue " size= "15 " value= " "> </td>
<td al> <select size= "1 " name= "selectRelation ">
<option value= "AND "> 并且 </option>
<option value= "OR "> 或者 </option>
</select> </td>
</tr>
</table>
</div>
</div>
</form>

[解决办法]
用request.getParameterValues()
因为你的parameter是同名的,所以每个名字都会有一个数组的值

[解决办法]
我考虑的是你增加条件只是增加"取值"那个控件,不知道楼主是这种情况不。。。

我的Demo是用的两个页面,第一个页面和你的jsp页面差不多,第二个页面用来生成SQL语句。
在第二个页面中,使用获取多个"取值"控件的值,接下来是生成SQL语句
1:获取第一个jsp页面中的值
String Field = request.getParameter("selectField");
String Opration = request.getParameter("selectOpration");
String[] Value = request.getParameterValues("selectValue");
String Relation = request.getParameter("selectRelation");
2:生成SQL语句
<%
String sql = "SELECT * FROM A WHERE " + Field + " " + Opration + " " + Value[0];
%>
<% for (int i=1;i<Value.length-1;i++) { %>
sql = sql + " " + Relation + " " + Field + " " + Opration+ " " + Value[i];
<% }%>

<%=sql %>

这样SQL语句就出来了。。。
[解决办法]
用+链接你的sql语句就可以了

读书人网 >Java Web开发

热点推荐