gpt4 book ai didi

java - 如何使用deleteRow()方法从多个表中删除行

转载 作者:行者123 更新时间:2023-12-01 04:41:59 26 4
gpt4 key购买 nike

我一直在编写以下代码:

import java.sql.*;


public class deleteRowDemo
{
public static void main(String args[])
{
Connection con;
Statement stmt;
ResultSet rs;
PreparedStatement ps;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:Project");
stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("select Mword, from Model,Stud where Mword=Sword");
while(rs.next())
{
ps=con.prepareStatement("insert into Compare (Cword) values (?)");
ps.setString(1,rs.getString(1));
ps.executeUpdate();
rs.deleteRow();
}
con.close();
} catch(Exception e)
{
System.out.println(e);
}
}
}

有两个表 Model 和 Stud。正在比较两个表,两个表中相似的所有单词都插入到另一个名为“比较”的表中,同时我希望从 Stud 和 Model 表中删除这些单词。当 select 语句只有一个表时,函数 deleteRow() 工作得很好,但是对于具有多个表的复杂 select 语句如何解决呢?

最佳答案

您应该使用 DELETE 语句删除该行。具体如何完成取决于您的数据模型。

而不是 rs.deleteRow();在 while 循环中,您可以执行以下操作:

PreparedStatement deleteModel  = con.prepareStatement("DELETE Model WHERE Mword = ?"); // You might need to modify this query if Mword is not unique in Model.
deleteModel.setString(1, rs.getString(1));
deleteModel.executeUpdate();
//Do the same for Stud.

关于java - 如何使用deleteRow()方法从多个表中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383639/

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