当前位置:编程学习 > JSP >>

以下是我现有的一段jsp代码,如何改造就可以实现与数据库连接,我的数据库是mysql?拜托大侠了!

<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" %> <%request.setCharacterEncoding("GBK");%> <% String sqlStr=""; String submit=request.getParameter("Submit"); if(submit!=null&&!submit.equals("")) { String Class_N=request.getParameter("Class_N"); String search=request.getParameter("search"); //byte n[]=search.getBytes("ISO-8859-1"); //search=new String(n); if(!Class_N.equals("Ename")) { String baijuanli=search; int leng=search.length(); String sql=""; for(int f=0;f<=leng-2;f++) { //System.out.println(f+"a"); for(int i=f+3;i<leng;i++) { //System.out.println(i+"b"); search=baijuanli.substring(f,i);//实现字符串分割:以2个字符为最小单位实现字符串分割,也可以根据需要自己进行设置 System.out.println(search); sql=sql+"or "+Class_N+" like '%"+search+"%'"; } } sqlStr="select * from EN_School where "+Class_N+" like '%"+baijuanli+"%'"+sql+";"; out.println(sqlStr); } } %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>无标题</title> <script language="JavaScript"> function formcheck(form) { if(form.search.value=="") { alert("搜索不能为空!"); return false; } if(form.Class_N.value=="") { alert("搜索条件为空!"); return false; } } </script> </head> <body> <form action="search.jsp" method="post" name="form"> <table width="100%" border="0" cellspacing="1"> <tr> <td width="74"> 站内搜索: </td> <td width="158"> <input type="text" name="search" size="20" maxlength="25"> </input> </td> <td width="116"> <select name="Class_N" size="1"> <option value="" selected> —请选择— </option> <option value="Ename"> slot </option> <option value="Cname"> 学校中文名称 </option> <option value="Address"> 学校地址 </option> </select> </td> <td width="628"> <input type="submit" name="Submit" value="搜索" onClick="return formcheck(this.form)"></input> </td> </tr> </table> </form> </body> </html>
追问:
我用mysql数据库,请帮我改造一下!谢谢!
你有mysql的驱动吗?
有啊,我用的是jdbc。
恩,那你把JDBC类给我发过来看看~获取connection的方法名是什么?getConnection()?
sqlStr="select * from EN_School where "+Class_N+" like '%"+baijuanli+"%'"+sql+";";

Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
			conn = JDBCUtil.getConnection();
			ps = conn.prepareStatement(sqlStr);
			rs = ps.executeQuery();
		} catch (SQLException e) {
			e.printStackTrace();
			System.out.println("获取连接失败!");
		}finally{
			JDBCUtil.close(conn);
		}
return rs;

不懂的再问吧,不知道你JDBC工具类里是否有colse方法关闭连接,rs是结果集,返回结果集就可以了,然后再进行数据处理。OK
mysql-connector-java-5.1.7
你在
sqlStr="select * from EN_School where "+Class_N+" like '%"+baijuanli+"%'"+sql+";";
这段代码下边,加上我给你的那段,去掉与你代码重复的部分,在看看你的JDBC类获取连接和关闭连接的方法,填写进去就好了。
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,