- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设用户输入 02522 作为 PIN 码,则应显示所有匹配结果以及其他 PIN 码,如 02521、02520 等。
我能够显示输入的确切结果,但无法显示其他匹配或附近的结果。
环境:Java Struts2。
下面是我的代码:
package org.entity;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
import java.util.ArrayList;
import com.opensymphony.xwork2.ActionSupport;
public class SearchBasedonBBAction extends ActionSupport {
BloodBank search2;
SearchBasedonBB search;
List<UpdateStock> BBList;
List<UpdateStock> BBList2;
public SearchBasedonBBAction() {
}
public SearchBasedonBB getSearch() {
return search;
}
public void setSearch(SearchBasedonBB search) {
this.search = search;
}
public List<UpdateStock> getBBList() {
return BBList;
}
public void setBBList(List<UpdateStock> bBList) {
BBList = bBList;
}
public BloodBank getSearch2() {
return search2;
}
public void setSearch2(BloodBank search2) {
this.search2 = search2;
}
public List<UpdateStock> getBBList2() {
return BBList2;
}
public void setBBList2(List<UpdateStock> bBList2) {
BBList2 = bBList2;
}
@Override
public String execute() throws Exception {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/foryou", "root", "siddheshkk");
System.out.println("Driver Loaded");
Statement st = con.createStatement();
PreparedStatement ps = con
.prepareStatement("select * from stockinfo where stdcode=?");
ps.setString(1, search.getBbb());
BBList = new ArrayList<UpdateStock>();
BBList2 = new ArrayList<UpdateStock>();
ResultSet rs = ps.executeQuery();
while (rs.next()) {
BBList.add(new UpdateStock(rs.getString("name"), rs
.getString("city"), rs.getString("address"), rs
.getString("contact"), rs.getString("email"), rs
.getString("apositive"), rs.getString("anegative"), rs
.getString("bpositive"), rs.getString("bnegative"), rs
.getString("abpositive"), rs.getString("abnegative"),
rs.getString("opositive"), rs.getString("onegative")));
}
System.out.println("step2");
PreparedStatement ps1 = con
.prepareStatement("select * from stockinfo where stdcode like "
+ search.getBbb() + "");
System.out.println("step3");
ResultSet rs1 = ps1.executeQuery();
while (rs1.next()) {
BBList2.add(new UpdateStock(rs.getString("name"), rs
.getString("city"), rs.getString("address"), rs
.getString("contact"), rs.getString("email"), rs
.getString("apositive"), rs.getString("anegative"), rs
.getString("bpositive"), rs.getString("bnegative"), rs
.getString("abpositive"), rs.getString("abnegative"),
rs.getString("opositive"), rs.getString("onegative")));
}
System.out.println("Ye b hogya na baa...");
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}
@Override
public void validate() {
// TODO Auto-generated method stub
super.validate();
if (search.getBbb().isEmpty()) {
addFieldError("search.bbb", "Please enter Pin Code");
}
}
}
查看我用 S.O.P. 编写的测试语句
程序被执行,但查询之类的名称没有给出任何输出,也没有错误。
当我在搜索框中输入 02522 时,我得到输出,但不显示 02520,02521 等 pincode 的其他结果。
有两个部分,第一部分给出精确结果,另一部分给出任何匹配的结果。就像在第一部分中一样,如果用户输入 02522,则会显示完全匹配的结果,而在其他部分中,应显示 02521,02523 的结果。
**注意:stdcode 在此表示 pincode(在 DB 中定义为 stdcode)**
最佳答案
当您说“附近的结果”时,我不确定您的意思。您说输入 02522 应匹配 02521 和 02520。SQL 中的 LIKE
不会执行此操作。 LIKE
的用法如下:
WHERE username LIKE '%hut%'
这将与我的用户名或任何带有“hut”的用户名匹配。
因此整个部分需要修复:
PreparedStatement ps1 = con
.prepareStatement("select * from stockinfo where stdcode like "
+ search.getBbb() + "");
因为LIKE
并不意味着“近似匹配”;它有更具体的含义,与字符串匹配有关。
如果你希望它在一定范围内匹配,那么你应该将其转换为整数并使用BETWEEN
。您没有定义“附近”的含义,因此在您提供更具体的信息之前我们无法为您提供帮助。
关于java - 类似名称的查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32361944/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!