gpt4 book ai didi

java - Java程序中的Multiple Delete MSSQL删除查询

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

<分区>

我正在编写一个我正在转换角色的程序。Change Role 过程涉及从两个表中删除(以清除当前角色/组),插入到两个表中(以设置角色/组)。

我的连接字符串中有 allowMultipleQueries = true,但看起来只有第一个查询在运行。

数据库是 MSSQL 数据库。

有没有办法同时运行这两个查询?我可以从两个表中删除吗?

我的代码如下:

JButton changeRoleBtn = new JButton("Change Role");
changeRoleBtn.setBounds(50, 375, 150, 30);
changeRoleBtn.setToolTipText("Changes the role of the User");
changeRoleBtn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (requesterRole.isSelected())
{
StringBuffer getRolesQuery3 = new StringBuffer("delete from hib.personrole where personid = '");
getRolesQuery3.append(userID).append("'");
StringBuffer getRolesQuery4 = new StringBuffer("delete from hib.persongroup where personid = '");
getRolesQuery4.append(userID).append("'");
try
{
ResultSet rs = stmt.executeQuery(getRolesQuery3.toString());
ResultSet rs1 = stmt.executeQuery(getRolesQuery4.toString());

boolean empty = true;
if(empty)
{
userRoleLbl.setText("The User is a Requester");
System.out.println(rs);
System.out.println(rs1);
}
}
catch(Exception e2)
{
System.out.println(e2);
}
}
}
});

我已将其更改为准备好的语句,但在运行时出现以下错误。 java.sql.SQLException:参数索引 2 无效。

    changeRoleBtn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (requesterRole.isSelected())
{
try
{
PreparedStatement ps1, ps2;
ps1 = con.prepareStatement("delete from hib.personrole where personid = ?");
ps2 = con.prepareStatement("delete from hib.persongroup where personid = ?");

ps1.setInt(1, userID);
ps2.setInt(2, userID);

ps1.executeQuery();
ps2.executeQuery();

con.commit();

userRoleLbl.setText("The user is a requester");

}
catch(Exception e3)
{
e3.printStackTrace();
}

}
}
});

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