首页 > 解决方案 > 我正在使用java开发一个项目并将其与数据库(oracle)连接,它是关于送餐桌面应用程序的

问题描述

我有 3 个表第一个是餐厅所有者,它的主键是 Restaurant_NAME 第二个是 Meals,它的主键是 MEAL_NAME 第三个是一个表,它是它们之间的关系,称为 Restaurant_MEAL,它将上面的两个主键作为外键。每当餐厅老板进入新餐点时,我都想这样做;餐厅名称和餐品名称将存储在彼此相邻的表中假设拥有餐厅 Y 的餐厅所有者 X 输入了三明治餐,则该表应包含 Y | 三明治

代码 :

try {
   Connection conn = DriverManager.getConnection(dbURL, "hr", "hr");
   String query = "INSERT INTO RESTURANT_MEAL (PRODUCT_NAME, RESTURANT_NAME)" + "values(?,?)";
    Statement statement = conn.createStatement();
    PreparedStatement insert = conn.prepareStatement(query);
    insert = conn.prepareStatement(query);

    for (int i = 0; i < products.size(); i++) {
        insert.setString(1,  products.get(i).getProductName());
        insert.setString(2, businessName);
        insert.execute();
    }
    

    insert.execute();
    
    conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

输出:它把饭菜保存在餐桌上,但有一个错误:

java.sql.SQLException:索引处缺少 IN 或 OUT 参数:: 1

并且关系表中没有保存任何内容

标签: javasqldatabase

解决方案


推荐阅读