为了执行不同的操作,我编写了这9个查询
GET_ITEMS =“从ITEM_ID的项目顺序中选择ITEM_ID、PART_NO、DESCRIPTION、SALE_PRICE、UPDATED_BY、UPDATED_DATE”;
GET_ITEM_ID =“从项中选择ITEM_ID ";
GET_PART_NO =“从项目中选择PART_NO ITEM_ID=?";
UPDATE_PART_NO = "UPDATE ITEM SET PART_NO=?WHERE ITEM_ID= ?";
GET_SALE_PRICE =“从项目ITEM_ID=?中选择ITEM_ID=?";
UPDATE_SALE_PRICE = "UPDATE ITEM SET SALE_PRICE=?WHERE ITEM_ID=?";
GET_DESC =“从项目中选择描述ITEM_ID=?";
UPDATE_DESC = "UPDATE ITEM SET DESCRIPTION =?ITEM_ID=?";
INSERT_INTO_ITEMDUPLICATE =“替换为ITEM_DUPLICATE (item_id、part_no、sale_price、description、条形码)”选择
i.ITEM_ID,i.PART_NO,i.SALE_PRICE,i.DESCRIPTION,b.BARCODE,I加入item_barcode b ON b.ITEM_ID = i.ITEM_ID,i.ITEM_ID = ?";
在我的java程序中。但是我想把它们写成两个查询,一个查询显示来自DB的数据,另一个查询更新数据。有可能吗?我正在使用mySQL for DB在Eclipse中尝试这一点。
有谁能帮上忙吗?我正试图从两天内找到一个解决办法。
这是我的控制台输出,在这里,如果用户给出Y,那么我的数据将被更新到item_duplicate表中。为此,我还更新了item表。但我只需要在新表中执行更新,而不是在项目表中执行更新。
控制台输出:

发布于 2021-01-29 02:57:08
,但是我想把它们写成两个查询,一个查询显示来自DB的数据,另一个查询更新数据。有可能吗??
第一个查询将从ITEM中“显示数据”,所以这很好,是的,您可以编写另一个查询来更新数据(尽管它可能需要在java代码中构建部分,这取决于哪个字段已经更改)
(书面的,未编纂的)
string queryPrefix = "UPDATE ITEM SET ";
string querySuffix = " WHERE ITEM_ID=?";
List<String> queryUpdates = new ArrayList<String>;
List<object> queryParameters = new ArrayList<object>;
if (updatePartNumber) {
queryUpdates.add("PART_NO=?");
queryParameters.add(newPartNumber);
}
if (updateSalePrice) {
queryUpdates.add("SALE_PRICE=?");
queryParameters.add(newSalePrice);
}
// etc
string query = queryPrefix + String.join(",",queryUpdates) + querySuffix;
queryParameters.Add(itemId);但是,您的最后一个查询完全是另一回事,我看不出如何将它与上面的逻辑结合起来。
https://stackoverflow.com/questions/65938293
复制相似问题