gpt4 book ai didi

java - 根据java中特定列中的值从sql数据库中选择一行

转载 作者:行者123 更新时间:2023-11-29 03:15:24 24 4
gpt4 key购买 nike

我目前正在开展一个项目,我们在数据库中存储了一家光学镜头公司的库存。我已将我的数据库连接到我的 Java 程序,我只是在根据列值选择行时遇到问题。我正在通过

String name=lookUpName.getText();

try (
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/productitem?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC",
"root", "123456789"); // for MySQL only
Statement stmt = conn.createStatement();
) {

String strSelect = "select * from products where productName= "+name+"";
System.out.println("The SQL statement is: " + strSelect + "\n"); // Echo For debugging

ResultSet rset = stmt.executeQuery(strSelect);
}
rset.close();

当它尝试执行查询时,它给我一个错误。但如果我使用 SQL 控制台运行常规查询,例如 select *
来自 productName='golden vintage';
有效的产品。有人可以帮我解决 Java 部分吗。

我在那里的调试输出显示SQL语句为:select * from products where productName= golden vintage

我得到的错误是:

java.sql.SQLSyntaxErrorException:您的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“vintage”附近使用的正确语法

最佳答案

我用准备好的语句弄明白了

 String strSelect = "select * from products where productName= ?";

PreparedStatement st = conn.prepareStatement(strSelect);
st.setString(1,name);

ResultSet rs = st.executeQuery();
while (rs.next()) {
String productid = rs.getString(1);
String productColors=rs.getString(2);
String productPrices = rs.getString(3);
String productBrands=rs.getString(4);
String productStyles = rs.getString(5);
String productNames=rs.getString(6);
System.out.println(productid +" "+productNames + " " +productBrands + " " + productStyles + " " + productColors + " " + productPrices);
}

关于java - 根据java中特定列中的值从sql数据库中选择一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58965264/

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