<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>信息查询</title>
</head>
<body>
<marquee direction=left bgcolor="#b0cbcb">请输入您要查询的名字:</marquee>
<form action=e.jsp name="form2"><p align=center>姓名<input type="text" name="name" ></p>
<p align=center><input type=submit name="name1" value="查询"></p>
</form>
</body>
</html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
    <%@page import="java.sql .*" %>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>信息查询</title>
</head>
<body><%
String name1=request.getParameter("name");
   Connection con;
PreparedStatement ps;
ResultSet re;
 try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){};
try{

con=DriverManager.getConnection("jdbc:odbc:sjk","sa","");
    ps=con.prepareStatement("select * from 工资表  where name='"+name1+"'");
    
re=ps.executeQuery();

 if(re.next())
{out.print(re.getString("id"));
out.print(re.getString("xing"));
out.print(re.getString("sex"));
out.print(re.getString("gong"));
}
 else
 {out.print("你输入的用户名不存在");}
con.close();ps.close();}
catch(SQLException e1){out.print (e1); }%>
</body>
</html>大家给我看一下,我这个程序不能查询,where name='"+name1+"'");name改成INT型的gong或者id就能查询信息的,如果改成string的name或者sex就不能查询了。谢谢大家了给我指点一下
    

解决方案 »

  1.   

    建议楼主在别再JSP里写逻辑,看起来不舒服,乱乱的。
      

  2.   

    int name = name1;
    String name=‘+name1+’
      

  3.   

    什么意思,一会儿是INT一会儿是STRING,
      

  4.   

    String name1=(String)request.getParameter("name");
    这里强转试一下
      

  5.   

    不能查询是什么意思?是程序出错还是查询不到结果?
    1、检查name字段是否是字符串类型的
    2、查询之前把name1输出一下,看看是不是没有拿到想要的东西
      

  6.   

    具体没怎么看明白你的意思。你数据库里是什么类型就什么类型咯,  如果是字符串类型得加 '" int型不必要双引号