数据库内容未能显示
提交表单后,希望出现数据库中的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);....
------解决方案--------------------
------解决方案-------------------- String sql="select * from compcacu where objectname ='"+name+"'";
------解决方案-------------------- 探讨 String sql="select * from compcacu where objectname ='"+name+"'";
------解决方案-------------------- 字符串类型 需要单引号
数字类型 不用单引号
------解决方案-------------------- 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);....