课程设计中遇到的问题,急求大佬解答

做一个查询数据库的功能,表tellist中分别有name,sex,age,tel,mail,adr字段,查询页面有一个下拉框,是按哪个字段查询,一个表单输入查询内容,代码如下:
public String Query(HttpServletRequest request){
String html="";
String sql="select * from tellist";
String type=request.getParameter("type");
String content=request.getParameter("content");
if(type.equals("name"))
sql+="where name=?";
if(type.equals("sex"))
sql+="where sex=?";
if(type.equals("age"))
sql+="where age=?";
if(type.equals("tel"))
sql+="where tel=?";
if(type.equals("mail"))
sql+="where mail=?";
if(type.equals("adr"))
sql+="where adr=?";
try{
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,content);
ResultSet rs1=pstmt.executeQuery(sql);
html+="

";
html+="";
while(rs1.next()){
html+="";

html+="";

html+="";
html+="";
html+="";

html+="";

html+="";

html+="";

}
html+="
姓名 性别 年龄 电话 邮箱 住址
";
html+=rs1.getString("name");
html+="
";
html+=rs1.getString("sex");
html+="
";
html+=rs1.getString("age");
html+="
";
html+=rs1.getString("tel");
html+="
";
html+=rs1.getString("mail");
html+="
";
html+=rs1.getString("adr");
html+="
";
}
catch(Exception e){
e.printStackTrace();
}
return html;
 }
 总报错,如下:
 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=?' at line 1

;但是我没发现我的SQL语句有错啊,求大神解答!

5个回答

没学过Java,不过你这报错是 =?这个?是什么鬼,Java的写法吗

String sql="select * from tellist"; 这个语句,最后加一个空格:String sql="select * from tellist ";

where 条件前面需要加空格

这个写法 有点小看不懂啊

chenxiansheng888
小刀有话说 回复Jamie_pro: 可以把你又写的贴出来 让大家帮你看看
2 年多之前 回复
Jamie_pro
Jamie_pro 这个粘贴过来出了点问题,不过我发现了这个写法很蠢,现在换了个写法倒是没报错,但是查询不出结果
2 年多之前 回复

输出一下SQL语句 看拼接的时候是不是连在一起了 第一个SQL语句后要加个空格

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问