81,094
社区成员
发帖
与我相关
我的任务
分享
package database.operation;
import java.sql.*;
public class KeyWordQuery
{ String ziduan="", //字段
keyWord=""; //关键字
StringBuffer queryResult;
public KeyWordQuery()
{ queryResult=new StringBuffer();
try{ Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){ }
}
public void setKeyWord(String s)
{ keyWord=s.trim();
try{ byte bb[]=keyWord.getBytes("ISO-8859-1");
keyWord=new String(bb,"gb2312");
}
catch(Exception e){}
}
public String getKeyWord()
{ return keyWord;
}
public void setZiduan(String s)
{ ziduan=s.trim();
try{ byte bb[]=ziduan.getBytes("ISO-8859-1");
ziduan=new String(bb,"gb2312");
}
catch(Exception e){}
}
public String getZiduan()
{ return ziduan;
}
public StringBuffer getQueryResult()
{ String condition="SELECT * FROM employee Where "+ziduan+" Like '%"+keyWord+"%'";
StringBuffer str=f(condition);
return str;
}
public StringBuffer f(String condition)
{ StringBuffer str=new StringBuffer();
Connection con;
Statement sql;
ResultSet rs;
try { String uri="jdbc:mysql://127.0.0.1/factory";
con=DriverManager.getConnection(uri,"abc","abc");
sql=con.createStatement();
rs=sql.executeQuery(condition));
str.append("<table border=1>");
str.append("<th width=80>"+"雇员号");
str.append("<th width=80>"+"姓名");
str.append("<th width=80>"+"出生日期");
str.append("<th width=80>"+"薪水");
while(rs.next())
{ str.append("<tr>");
str.append("<td>"+rs.getString(1)+"</td>");
str.append("<td>"+rs.getString(2)+"</td>");
str.append("<td>"+rs.getDate(3)+"</td>");
str.append("<td>"+rs.getString(4)+"</td>");
str.append("</tr>");
}
str.append("</table>");
con.close();
}
catch(SQLException e)
{ System.out.println(e);
}
return str;
}
}
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="database.operation.*" %>
<jsp:useBean id="base" class="database.operation.KeyWordQuery" scope="request" />
<jsp:setProperty name="base" property="ziduan" param="ziduan"/>
<jsp:setProperty name="base" property="keyWord" param="keyWord"/>
<HTML><BODY><Font size=2>
<FORM action="" method=post name=form>
选择:<Select name="ziduan">
<Option value="name">姓名
<Option value="number">雇员号
</Select>
含有:<INPUT type="text" name="keyWord">
<Input type=submit name="g" value="提交">
</Form>
<jsp:getProperty name="base" property="ziduan"/> 含有关键字
<jsp:getProperty name="base" property="keyWord"/> 的记录:
<BR><jsp:getProperty name="base" property="queryResult"/>
</Font></BODY></HTML>
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MyTest{
private static String drive = "org.gjt.mm.mysql.Driver";// 这里是驱动字符 串
private static String url = "jdbc:mysql://localhost:3306/a";// 这里是连接地址
private static Connection conn=null;
/**
* 得到数据库连接
*
* @return Connection
*/
public Connection getconn() {
try {
// 加载驱动
Class.forName(drive);
conn = DriverManager.getConnection(url, "root", "root");
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return conn;
}
public void test() {
this.conn=getconn();
if(conn==null){
System.out.println("数据库连接失败");
}
try {
String sql ="你的SQL语句";
int i = 1;
Statement state = conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。
ResultSet rs = state.executeQuery(sql);//执行给定的 SQL 语句,该语句返回单个 ResultSet 对象
while (rs.next()) {
i++;
System.out.println("第" + i + "行记录");
System.out.println("你的字段:" + rs.getString(1));
System.out.println("你的字段:" + rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
MyTest test= new MyTest();
test.test();
}
}
public void getConn()
{ List<Employee> list="SELECT * FROM employee Where "+ziduan+" Like '%"+keyWord+"%'";
for(int i=0;i<list.size();i++){
System.out.println(list.getEname());
}
}
测试一下这个代码。。。
刚发现你写的有问题。。。
那个查询返回的是一个集合不是一个String。。。。
就算你的数据只有一个姓"张"的也要用集合接收..