提交表单后,希望出现数据库中的char类型的一列:objectname,
但提交后总是不能显示数据库内容,怎么回事?(页面没问题,可以显示别的内容)
    显示代码如下: 
    String name =request.getParameter("name");       
    String sql="select * from compcacu where objectname ="+name;
    
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()){
    out.println(rs.getRow());
    out.print("用户ID:");
    out.print(rs.getString(1);
    out.print(rs.getString(2);....

解决方案 »

  1.   

    String sql="select * from compcacu where objectname ='"+name+"'"; 
        
      

  2.   

    String name =request.getParameter("name");      问题1确认name 是否收倒,System.out.println(name);问题2 name 是否转码?如果是在javabean里面,name如果是中文是需要转码的,name = new String(name.getBytes("ISO8859-1","GBK")); 根据页面的<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="GBK" %>    String sql="select * from compcacu where objectname ="+name;  //改为 String sql="select * from compcacu where objectname = '"+name+"';
        问题2,bojectname = admin; 自己在数据库这样写 是存在错误的,应该加上'' bojectname='admin';    ResultSet rs=stmt.executeQuery(sql); 
        while(rs.next()){ 
        out.println(rs.getRow()); 
        out.print("用户ID:"); 
        out.print(rs.getString(1); 
        out.print(rs.getString(2);....