通配符是一类键盘字符,有星号(*)和问号(?).
当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者不想建入完整名字时,常常使用通配符代替一个或多个真正字符。
星号(*):
可以使用星号代替0个或多个字符。如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txt、AEWU.EXE、AEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。
问号(?):
可以使用问号代替一个字符。如果输入love?,查找以love开头的一个字符结尾文件类型的文件,如lovey、lovei等。要缩小范围可以输入love?.doc,查找以love开头的一个字符结尾文件类型并.doc为扩展名的文件如lovey.doc、loveh.doc。
通配符包括星号“*”和问号“?”:
星号表示匹配的数量不受限制,而后者的匹配字符数则受到限制。这个技巧主要用于英文搜索中,如输入““computer*”,就可以找到“computer、computers、computerised、computerized”等单词,而输入“comp?ter”,则只能找到“computer、compater、competer”等单词。
通配符使用要注意的问题:
public class LoginHandler {
public LoginHandler() { }
Connection conn;
PreparedStatement ps;
ResultSet rs;
//检查是否已注册
public boolean checkLogin(ArrayList arr)
{
//从数据访问组件DBPool中取得连接
conn = DBPool.getConnection();
String name = (String)arr.get(0);
String password = (String)arr.get(1);
System.out.println("name2=="+name);
System.out.println("password2=="+password);
try {
String sql = "select * from user where id='"+name+"' and password='"+password+"'";
//String sql = "select * from user where id=? and password=?";
ps = conn.prepareStatement(sql);
//ps.setString(1,name); //如果用ps.setString()的话上面sql语句中要让id=?,password=?
//ps.setString(2,password); //ps.setString()不能和sql中的具体值共存
rs = ps.executeQuery();
if(rs.next()) {
System.out.println("id=="+rs.getString("id"));
DBPool.dbClose(conn,ps,rs); //释放资源
return true;
}
else {
DBPool.dbClose(conn,ps,rs);
return false;
}
} catch (SQLException e) {return false;}
}
}