以下是我现有的一段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类获取连接和关闭连接的方法,填写进去就好了。