点击查询是报错
根据手机号111查询到记录
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '?‰???????' in 'where clause' java里写的语句是
public StringBuffer getQueryResultByPhone()
{ String condition="SELECT * FROM member Where 学号 = '"+logname+"'";
queryResultByPhone=f(condition);
return queryResultByPhone;
}
求教 这是哪的错 怎么改
根据手机号111查询到记录
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '?‰???????' in 'where clause' java里写的语句是
public StringBuffer getQueryResultByPhone()
{ String condition="SELECT * FROM member Where 学号 = '"+logname+"'";
queryResultByPhone=f(condition);
return queryResultByPhone;
}
求教 这是哪的错 怎么改
String deptName = request.getParameter("deptName");
String t = new String(deptName.getBytes("ISO-8859-1"),"utf-8");
在Action添加个改编码格式
String deptName = request.getParameter("deptName");
String t = new String(deptName.getBytes("ISO-8859-1"),"utf-8");
加在什么位置 具体的加在action里面,你从页面把你的值不是先得到么,是这么得的吧:
String deptName = request.getParameter("deptName");
然后把得到的deptName转一下,就是这条代码:
String t = new String(deptName.getBytes("ISO-8859-1"),"utf-8");
再把转好的值传到service里面
<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" %>
<%@ page language="java" import="java.sql.*" %> <script language="javascript">
function newwin(url) {
var newwin=window.open(url,"newwin","toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=yes,width=600,height=450");
newwin.focus();
return false;
}
</script>
<script LANGUAGE="javascript">
function submit10()
{
self.location.replace("fenye.jsp")
}
</script>
<%//变量声明
java.sql.Connection con; //数据库连接对象
//java.sql.Statement stmt; //SQL语句对象
//java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句 int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
int i;
//设置一页显示的记录数
intPageSize = 10;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
//装载JDBC驱动程序
try
{
java.sql.Statement stmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "scott", "123");
stmt = con.createStatement();
strSQL = "select * from etsa";
//执行SQL语句并获取结果集
sqlRst = stmt.executeQuery(strSQL);
//获取记录总数
sqlRst.last();//??光标在最后一行
intRowCount = sqlRst.getRow();//获得当前行号
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>分頁</title>
</head>
<body>
<form method="POST" action="">
第<%=intPage%>页 共<%=intPageCount%>页 <%if(intPage<intPageCount){%>
<a href="fenye.jsp?page=<%=intPage+1%>">下一页</a>
<%}%>
<%if(intPage>1){%>
<a href="fenye.jsp?page=<%=intPage-1%>">上一页</a>
<%}%>
转到第:<input type="text" name="page" size="8"> 页
<input type="submit" value="GO" name="cndok">
</form>
<table border="1" cellspacing="0" cellpadding="0"> <%
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
String user_id,user_name;
while(i<intPageSize && !sqlRst.isAfterLast()){
user_id=sqlRst.getString(1);
user_name=sqlRst.getString(2);
%>
<tr>
<td><%=user_id%></td>
<td><%=user_name%></td>
</tr>
<%
sqlRst.next();
i++;
}
}
%>
</table>
</body>
</html>
<%
}
catch(Exception e)
{
e.printStackTrace();
}
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
stmt.close();
//关闭数据库
con.close();
%>
错误:
org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 112 in the jsp file: /fenye.jspGenerated servlet error:
[javac] Compiling 1 source fileD:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\fenye_jsp.java:137: cannot find symbol
symbol : variable sqlRst
location: class org.apache.jsp.fenye_jsp
sqlRst.close();
^An error occurred at line: 112 in the jsp file: /fenye.jspGenerated servlet error:
D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\fenye_jsp.java:139: cannot find symbol
symbol : variable stmt
location: class org.apache.jsp.fenye_jsp
stmt.close();
^
2 errors
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
package tom.jiafei;
import java.sql.*;
public class ConditionQuery
{ String logname ; //学号
String phone; //姓名
StringBuffer queryResultByName, //查询结果
queryResultByPhone;
public ConditionQuery()
{ queryResultByName=new StringBuffer();
queryResultByPhone=new StringBuffer();
try { Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e){}
}
public void setPhone(String s)
{ phone=s.trim();
}
public String getPhone()
{ return phone;
}
public void setLogName(String s)
{ logname=s.trim();
try{ byte bb[]=logname.getBytes("ISO-8859-1");
logname=new String(bb,"gb2312");
}
catch(Exception e){}
}
public String getLogName()
{ return logname;
}
public StringBuffer getQueryResultByName()
{ String condition="SELECT * FROM member Where 姓名 = '"+logname+"'";
queryResultByName=f(condition);
return queryResultByName;
}
public StringBuffer getQueryResultByPhone()
{ String condition="SELECT * FROM member Where 手机号 = '"+phone+"'";
queryResultByPhone=f(condition);
return queryResultByPhone;
}
private StringBuffer f(String condition)
{ StringBuffer str=new StringBuffer();
Connection con;
Statement sql;
ResultSet rs;
try { con=DriverManager.getConnection("jdbc:mysql://localhost/ComeHere","root","root");
sql=con.createStatement();
rs=sql.executeQuery(condition);
str.append("<table border=1>");
str.append("<th width=100>"+"手机号");
str.append("<th width=100>"+"姓名");
while(rs.next())
{ str.append("<tr>");
str.append("<td>"+rs.getString(1)+"</td>");
str.append("<td>"+rs.getString(2)+"</td>");
str.append("<td>"+rs.getString(3)+"</td>");
str.append("<td>"+rs.getString(4)+"</td>");
str.append("<td>"+rs.getString(5)+"</td>");
str.append("</tr>");
}
str.append("<table border=1>");
con.close();
}
catch(SQLException e)
{ str.append(e);
}
return str;
}
}
页面
inputCondition.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML><BODY>
<Font size=2>
<FORM action="inquireOne.jsp" Method="post">
<P>手机号查询(根据手机号查询记录):
<P>输入手机号:
<Input type=text name="phone">
<Input type=submit name="g" value="提交">
</Form>
<FORM action="inquireTwo.jsp" Method="post">
<P>姓名查询(根据姓名查询记录):
<P>输入姓名:
<Input type=text name="logname">
<Input type=submit name="g" value="提交">
</Form></BODY></HTML>inquireOne.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="tom.jiafei.ConditionQuery" %>
<jsp:useBean id="database" class="tom.jiafei.ConditionQuery" scope="request" />
<jsp:setProperty name= "database" property="phone" param="phone"/>
<HTML><Body>
根据手机号<jsp:getProperty name= "database" property="phone" />查询到记录
<BR> <jsp:getProperty name= "database" property="queryResultByPhone" />
</Body></HTML>inquireTwo.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="tom.jiafei.ConditionQuery" %>
<jsp:useBean id="database" class="tom.jiafei.ConditionQuery" scope="request" />
<jsp:setProperty name= "database" property="logname" param="logname"/>
<HTML><Body>
根据姓名<jsp:getProperty name= "database" property="logname" />查询到记录
<BR> <jsp:getProperty name= "database" property="queryResultBylogname" />
</Body></HTML>
我新手 帮我具体说下怎么加吧 谢谢了
static public String encodeUrl(String s){
if (s == null || s.length() == 0) return s;
try{
return URLEncoder.encode(s, "gbk");
}catch(Exception e){ return s;}
}
// URL解码
static public String decodeUrl(String s){
if (s == null || s.length() == 0) return s;
try{
return new String(s.getBytes("ISO-8859-1"), "GBK");
}catch(Exception e){ return s;}
}
或者是用这个解码。
static public String getEncodeString(String value) throws UnsupportedEncodingException{
if (value == null) return null;
return java.net.URLDecoder.decode(value, "utf-8");
}总有个能用的。