servlet部分代码如下:
sql.append("(select PA_PROJECT.project_id where PA_PROJECT.PROJECT_NAME = '");
sql.append(projectName);
sql.append("') ");
JSP页面上是
<td align="center" nowrap>
<select name="projectName" id="projectName" onchange = "selectProjectName()" >
<option selected="true">产品/项目名称</option>
<option value="all">全部</option>
<%
if(list!=null){
for(int i= 0;i<list.size();i++){
PaProjectPaPromisesSysPersonVO vo = (PaProjectPaPromisesSysPersonVO)list.get(i);
%>
<option value="<%= vo.getProjectName()%>">
<%= vo.getProjectName() %>
</option>
<%}}%>
</select>
</td>JS函数:function selectProjectName(){
var projectName=document.getElementById("projectName").value;
if(projectName=="all"){
window.location="<%= contextpath%>/servlet/GetPromisesResultServlet ";
}
else{
window.location="<%= contextpath%>/servlet/GetPromisesResultServlet?projectName="+projectName;
}
}
可是 当option得值是中文得时候 明明数据库里有对应的数据 就是查不出来 不知道是sql,JSP 还是JS的问题 有人知道吗?非常感谢!!
sql.append("(select PA_PROJECT.project_id where PA_PROJECT.PROJECT_NAME = '");
sql.append(projectName);
sql.append("') ");
JSP页面上是
<td align="center" nowrap>
<select name="projectName" id="projectName" onchange = "selectProjectName()" >
<option selected="true">产品/项目名称</option>
<option value="all">全部</option>
<%
if(list!=null){
for(int i= 0;i<list.size();i++){
PaProjectPaPromisesSysPersonVO vo = (PaProjectPaPromisesSysPersonVO)list.get(i);
%>
<option value="<%= vo.getProjectName()%>">
<%= vo.getProjectName() %>
</option>
<%}}%>
</select>
</td>JS函数:function selectProjectName(){
var projectName=document.getElementById("projectName").value;
if(projectName=="all"){
window.location="<%= contextpath%>/servlet/GetPromisesResultServlet ";
}
else{
window.location="<%= contextpath%>/servlet/GetPromisesResultServlet?projectName="+projectName;
}
}
可是 当option得值是中文得时候 明明数据库里有对应的数据 就是查不出来 不知道是sql,JSP 还是JS的问题 有人知道吗?非常感谢!!
你把projectName insert到一个表里面,看看是什么内容。
select PA_PROJECT.project_id where PA_PROJECT.PROJECT_NAME = ''
并没有写是哪个表啊
尝试把sql语句打印出来到数据库运行下
看传递的字符是什么