我在mysql里查询明显的有结果的,不知道为什么用jsp语句发送过来后就查询不错结果,我将sql换成"select*fromadmin"此时又有结果。个人估计是admin_name和login_name数据类型不同所致。...
我在mysql里查询明显的有结果的,不知道为什么用jsp语句发送过来后就查询不错结果,我将sql换成"select * from admin"此时又有结果。个人估计是admin_name和login_name数据类型不同所致。但我又无法知道正确答案。我使用的getBytes.toString(),但报错。org.apache.jasper.JasperException: Exception in JSP: /admin.jsp:10
7: out.print("
8: String login_name=(String)request.getParameter("login_name");
9: String login_pwd=(String)request.getParameter("login_pwd");
10: login_name=login_name.getBytes().toString();
11: login_pwd=login_pwd.getBytes().toString();
12: out.print(login_name);
13: out.print(login_pwd);
// 接收请求的内容 && 异常处理语句
String getword=request.getParameter("login");
if (getword!=null){
if (getword.compareTo("true")==0){
out.print("
String login_name=(String)request.getParameter("login_name");
String login_pwd=(String)request.getParameter("login_pwd");
//login_name=login_name.getBytes().toString();
//login_pwd=login_pwd.getBytes().toString();
out.print(login_name);
out.print(login_pwd);
Connection con;
Statement stmt;
ResultSet rs;
//加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//注册mySql驱动程序
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//用适当的驱动程序连接到数据库
String dbUrl ="jdbc:mysql://localhost:3306/mysql?useUnicode=true&-characterEncoding=GB2312";
String dbUser="root";
String dbPwd="123456";
out.print("test");
con=java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
if (con==null)
out.print("数据库连接失败");
dbUrl="jdbc:mysql://localhost:3306/mysql?user=root&password=123456&useUnicode=true&characterEncoding=gb2312";
con= DriverManager.getConnection(dbUrl);
//创建一个JDBC声明
stmt=con.createStatement();
String sql="select * from admin where admin_name='"+login_name+"' and admin_pwd='"+login_pwd+"' order by admin_name";
//做过多次尝试,都以失败告终:估计是login_name的数据类型和admin_name的数据类型不一致。前者是字符串,后者是varchar类型
各位大侠帮帮忙啊
展开