gpt4 book ai didi

java - Netbeans java 应用程序 - 在 MySql 数据库上执行查询

转载 作者:行者123 更新时间:2023-11-29 11:59:04 25 4
gpt4 key购买 nike

在我正在从事的项目中,我需要执行搜索 SQL 查询,即 Java Netbeans 中的通配符。我能够执行简单的查询,例如

    String driver = "jdbc:mysql://localhost/techo";
String un = "root";
String pw = "root";

String empid = id.getText();

try{

Connection con = DriverManager.getConnection(driver,un,pw);
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery("select*from employees where empid ="+empid+"");

while(rs.next())
{
String name = rs.getString("name");
String salary = rs.getString("salary");
name1.setText(name);
salary1.setText(salary);
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}

这工作得很好。但现在我想使用这个 MySql 查询

Mysql>select * from employes where empid like "123%";

而不是这个

Mysql>select * from employes where empid =123;

在 Java Netbeans 中。

我尝试过这样做

    String driver = "jdbc:mysql://localhost/techo";
String un = "root";
String pw = "root";

String empid = id.getText();

try{

Connection con = DriverManager.getConnection(driver,un,pw);
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery("select*from employees where empid like "+empid%+"");

while(rs.next())
{
String id = rs.getString("EmpId");
String name = rs.getString("name");
String salary = rs.getString("salary");
area.setText(id +" "+name+" "+salary+" "+ "\n");
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}

正如您所看到的,在第 8 行中我插入了通配符 (%),但这不起作用。我该如何解决这个问题?

最佳答案

您的通配符放错了位置。应该是:

        ResultSet rs = stm.executeQuery("select*from employees where empid like "+empid+"%");

在这种情况下,% 字符将被视为通配符。

如果你想搜索%字符本身,你必须按照mysql转义规则对其进行转义:

        ResultSet rs = stm.executeQuery("select*from employees where empid like \""+empid+"%%\"");

特别注意引号

关于java - Netbeans java 应用程序 - 在 MySql 数据库上执行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32681942/

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