gpt4 book ai didi

java - 根据文本字段值修改 select 语句

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:48 25 4
gpt4 key购买 nike

FirstNameLastNameIDdepartment 有四个文本字段。我让用户通过在文本字段中输入数据来搜索任何学生记录。当用户点击提交按钮时,我会显示一个与他请求的学生记录相对应的表格。因此,例如,如果用户在 department 文本字段中输入 computerScience,我应该显示计算机科学系的所有学生。

因此,我的 SQL 选择语句应该能够在运行时执行此操作。

我正在使用这样的准备语句:

PreparedStatement pre = conn.prepareStatement("select ID,FirstName,LastName,Dept from student where ID = ? or FirstName = ? or lastName = ? or Dept = ?");

然而,这仅在输入 ID 时显示结果。但是假设有人只输入“Mark”作为姓氏并将其他所有文本字段留空,那么尽管数据库中有姓氏为 Mark 的学生,但此查询不会显示任何内容。

有人可以指导我吗?

最佳答案

使用如下动态查询字符串(假设存在至少一个条件)

   String query = "select ID,FirstName,LastName,Dept from student where ";
String delim = "";
if(firstName != null){
query+ = delim + "FirstName = '"+firstName+"'";
delim = " AND ";
}
if(lastName != null){
query+ = delim + "LastName = '"+lastName +"'";
delim = " AND ";
}
.........
.........
PreparedStatement pre = conn.prepareStatement(query);

希望这对您有所帮助!

关于java - 根据文本字段值修改 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com