Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新多个表JDBC_Java_Sql_Jdbc - Fatal编程技术网

Java 更新多个表JDBC

Java 更新多个表JDBC,java,sql,jdbc,Java,Sql,Jdbc,我正在尝试的方法是否可以更新多个表? 如果是这样的话,有人能看到我的代码有什么问题吗,我得到了一个命令没有正确结束语法错误 public void updateProdCD(DigiProduct p) { try { String queryString = "UPDATE Product SET p.prod_id=?," +" p.prod_

我正在尝试的方法是否可以更新多个表? 如果是这样的话,有人能看到我的代码有什么问题吗,我得到了一个命令没有正确结束语法错误

public void updateProdCD(DigiProduct p)
{

        try {

            String queryString = "UPDATE Product SET p.prod_id=?,"                    
                                 +" p.prod_type=?, "
                                 +" c.album_name=?,  "
                                 +" c.cd_cost_price=?, " 
                                 +" c.cd_sale_price=?, "
                                 +" p.current_stock=?,  "
                                 +" dp.age_rating=?, " 
                                 +" dp.genre=?,  "
                                 +" c.record_company=?,  "
                                 +" c.album_length=? "
            +" FROM product p, digital_product dp, "
            +" cd c, artist a, cd_artist ca "
                    +"WHERE dp.prod_id = p.prod_id "
                    +"AND dp.dig_id = c.dig_id "
                    +"AND a.artist_id = ca.artist_id "
                    +"AND c.cd_id = ca.cd_id "
                    +"AND prod_id ="+ "'" + p.getProd_id() + "'";

            pstmt = conn.prepareStatement(queryString);
            pstmt.setString(1, p.getProd_id() );
            pstmt.setString(2, p.getProd_type());
            pstmt.setString(3, p.getAlbumName());
            pstmt.setDouble(4, p.getCostPrice());
            pstmt.setDouble(5, p.getSellPrice());
            pstmt.setInt(6, p.getCurrent_stock());
            pstmt.setString(7, p.getAge_rating() );
            pstmt.setString(8, p.getGenre());
            pstmt.setString(9, p.getPublisher());
            pstmt.setDouble(10, p.getLength());
            pstmt.executeUpdate();


            updateAlbum(p);

            }catch (Exception ex) 
                {
                System.out.println(ex);
        }
    }

从[tables]更新一些表集[fields\u list],其中[predicates]
的SQL语法不正确。除非是存储过程调用,否则不可能在一个查询中更新多个表的字段

试一试

更新表\u名称集[fields\u list],其中[predicates]


试着看看这个问题:

从[tables]更新一些表集[fields\u list],其中[predicates]
是不正确的SQL语法。除非是存储过程调用,否则不可能在一个查询中更新多个表的字段

试一试

更新表\u名称集[fields\u list],其中[predicates]


试着看看这个问题:

为什么不将最后一个产品id参数化?我将在其他产品正常工作时更改它,当我像其他人一样执行时,它给了我一个不同的错误。这个SQL是否可以正确执行?可能的重复看起来我必须重写它,以便一次执行一个表。为什么不将最后一个prod_id参数化?我将在剩下的工作正常时更改它,当我像其他人一样执行时,它给了我一个不同的错误。这个SQL是否可以正确执行?可能的重复看起来我必须重写它,以便一次执行一个表。这不起作用,如果我从中删除,查询如何知道我要更新哪些表?您必须在每个
update
查询中更新一个表的字段。基本语法对SQL Server有效,但是您只能更新
某些表
,而不能更新
[表]
@markrotVeel eh。。您能给我一个提示吗?
从…
更新表集[字段]是什么意思?我知道,
select
子句可能用于获取在
where
之后构建谓词所需的数据,但这种语法确实让我感到困惑。如果你能发布一个关于这个主题的链接,我也会很感激。@AlexeyMalev看到
FROM
基本上是用来查询update语句的数据的(如果你在FROM中也包括要更新的表,那么还有一些额外的怪癖)。这不起作用,如果我从中删除,查询如何知道我要更新哪些表?您必须在每个
update
查询中更新一个表的字段。基本语法对SQL Server有效,但是您只能更新
某些表
,而不能更新
[表]
@markrotVeel eh。。您能给我一个提示吗?
从…
更新表集[字段]是什么意思?我知道,
select
子句可能用于获取在
where
之后构建谓词所需的数据,但这种语法确实让我感到困惑。如果你能发布一个关于这个主题的链接,我也会很感激。@AlexeyMalev请看
FROM
基本上是用来查询update语句的数据的(如果你在FROM中也包含要更新的表,那么还有一些额外的怪癖)。