gpt4 book ai didi

java - 基本插入在数据库中有效,但在 java 类中无效

转载 作者:行者123 更新时间:2023-12-02 03:56:08 25 4
gpt4 key购买 nike

我是第一次使用 Microsoft Azure 的云数据库,除了插入之外,所有 SQL (SELECT、UPDATE 和 DELETE) 都可以正常工作。当我尝试插入表时,它给出了这个异常: com.microsoft.sqlserver.jdbc.SQLServerException:为更新生成了结果集。

请记住,所有 SQL 在数据库本身中完成时都会起作用。

我注意到它只在使用stat.executeUpdate()时才给我,当我将其更改为stat.executeQuery()时,没有异常(exception)并且“成功” "但它不会在表中插入任何内容。

我已经更新了所有软件,但仍然没有任何变化。

我发现一个 INSERT 有效,但另一个无效。

编辑:另一个问题是返回评论,而我的方法是空的并且没有使用 stat.executUpdate() 来获取评论。

public static void main(String[] args)
{
ConnectDB();
insertHistory("5364", 10, "5005", "353", "6", 10, "admin");
}

这是损坏的插入:

    public static void insertHistory(String sInt, int iBase, String P1, String P2, String P3, int pBase, String Email)
{
try
{
stat = con.prepareStatement("INSERT INTO dbo.tblHistory (Num, BaseForNum, P1, P2, P3, BaseForP, UserID) VALUES (?, ?, ?, ?, ?, ?, ?)");
stat.setString(1, sInt);
stat.setInt(2, iBase);
stat.setString(3, P1);
stat.setString(4, P2);
stat.setString(5, P3);
stat.setInt(6, pBase);
stat.setInt(7, getUserID(Email));
stat.executeUpdate();
}
catch(SQLException e)
{
System.out.println(e);
JOptionPane.showMessageDialog(null, "Could not save to tblHistory.");
}
}

这是工作插入:

    public static void insertAccount(String Email, String Password)
{
try
{
stat = con.prepareStatement("INSERT INTO dbo.tblUser (Email, Password) VALUES (?, ?)");
stat.setString(1, Email);
stat.setString(2, Password);
stat.executeUpdate();
JOptionPane.showMessageDialog(null, "Account created.");
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, e);
}
}

我希望它没有异常并插入到数据库中,但我得到了 SQL 异常。

最佳答案

我将 stat.setInt(7, getUserID(Email)) 更改为 stat.setInt(7, 1)。 RealSkeptic 说这是因为它访问了数据库。

关于java - 基本插入在数据库中有效,但在 java 类中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56753947/

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