<%
request.setCharacterEncoding("GBK");
String value = request.getParameter("title");
%>
<%
Connection conn = DB.getConn();
Statement stmt = DB.createStmt(conn);
String sql = "select * from article where title like '%value%'";
ResultSet rs = DB.executeQuery(stmt, sql);
rs.next();
String str = rs.getString(1);
%>那句sql语句我在数据库里查了一下能查出来,把value换成了个汉字能查出几条符合条件的数据
运行的时候报错java.sql.SQLException: Illegal operation on empty result set.
能查出来怎么还说是空值呢???
request.setCharacterEncoding("GBK");
String value = request.getParameter("title");
%>
<%
Connection conn = DB.getConn();
Statement stmt = DB.createStmt(conn);
String sql = "select * from article where title like '%value%'";
ResultSet rs = DB.executeQuery(stmt, sql);
rs.next();
String str = rs.getString(1);
%>那句sql语句我在数据库里查了一下能查出来,把value换成了个汉字能查出几条符合条件的数据
运行的时候报错java.sql.SQLException: Illegal operation on empty result set.
能查出来怎么还说是空值呢???
变量双击下会变灰色,同时上面的value也会变灰。
String sql = "select * from article where title like '%"+value+"%'";
这样就可以了。
你可以在数据库里改出一个有value的字段做实验自己体会下。
if(rs.next()) {
rs.getXXX(1);
...
} else {
System.out.println("no data.");
}
Connection conn = DB.getConn();
Statement stmt = DB.createStmt(conn);
System.out.println(value);
String sql = "select * from article where title like '%+value+%'";
System.out.println(sql);我输入a控制台输出
a
select * from article where title like '%+value+%'
数据库里有a的数据有3条,如何能把这3条的标题全部输出来???
2、确定 数据库里面有几条数据 1取的是第二条.
当你换成汉字的时候 是能够查询到的
但是你用value的时候,涉及到了字符的连接问题,就像你的代码一样,格式错误了
你的格式的意思 以value这个字段模糊查询,但是你的表中并没有value字段
你实际要查询的是以value对应的值为字段的查询‘%"+value+"%’
Statement stmt = DB.createStmt(conn);
String sql = "select * from article where title like '%"+value+"%'";
ResultSet rs = DB.executeQuery(stmt, sql);
while(rs.next()){
String str = rs.getString(1);
}你要循环输出!