gpt4 book ai didi

java - 从 MySQL 数据库、jdbc、java 中获取特定行和列的特定单元格

转载 作者:行者123 更新时间:2023-11-30 00:07:28 24 4
gpt4 key购买 nike

我正在尝试从用户输入的电话号码中的 MySQL 表中获取特定的客户 ID,以使用它向该客户 ID 添加新订单。我正在尝试使用一种方法来创建一个由结果集填充的列表,但我一直没有返回任何内容,更具体地说是空方括号“[]”

这是我使用的代码。

if((getCustomerID.getCustomerID(inputContactNumber).toString()).equals("[]")){
JOptionPane.showMessageDialog(null, "Customer phone number does not exist.\nTry again or create new customer.");
return;
} else {
customerID = Integer.parseInt(getCustomerID.getCustomerID(inputContactNumber).toString());

insertOrder.insertOrder(customerID);
}

获取客户ID():

public List<Customer> getCustomerID(String phoneNumber) throws SQLException{
List<Customer> customerList = new ArrayList();

String selectCustomerID = "SELECT idcustomer FROM customer WHERE contactNumber = " + phoneNumber;

try {
MyConnection mc = new MyConnection();
dbConnection = mc.getConnection();
statement = dbConnection.createStatement();

ResultSet rs = statement.executeQuery(selectCustomerID);

while (rs.next()){
int customerID = rs.getInt("idcustomer");

Customer c;
c = new Customer (customerID);
customerList.add(c);
}
}
catch (SQLException e){
System.err.println(e);
return null;
}
finally{
if (statement != null){
statement.close();
}
if (dbConnection != null){
dbConnection.close();
}
}
return customerList;
}//end of getGetCustomerID()

非常感谢任何意见

-编辑-我的连接()

public class MyConnection {
public Connection connection = null;

public Connection getConnection()
{
System.out.println("---- MySql Connecting ----");

try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Can't find MySQl Driver.");
e.printStackTrace();
}

System.out.println("Driver Registered.");

try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/quotedb","root","");
} catch (SQLException e) {
System.out.println("Connection Failed.");
}

if (connection != null) {
System.out.println("Connection Established.");
} else {
System.out.println("Connection Failed.");
}

return connection ;
}

最佳答案

您是否尝试过在 SQL 程序中执行此查询?因为看起来根本没有返回结果,因此空方括号相当于空数组的字符串。

对数组使用 toString() 通常是一个坏主意,您最好使用 length 来确定数组是否为空。此外,尚不清楚结果是否应该是唯一的:
如果函数 getCustomerID.getCustomerID(inputContactNumber) 返回多个结果,您会尝试解析像 [3453,3543] 这样的 Int,这永远不会是您想要的。相反,您应该在数组上使用 .get(0) 来检索第一个元素。

关于java - 从 MySQL 数据库、jdbc、java 中获取特定行和列的特定单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24401923/

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