【问题标题】:Error creating GUI for SQL Server on Netbeans在 Netbeans 上为 SQL Server 创建 GUI 时出错
【发布时间】:2017-12-15 02:38:09
【问题描述】:

我目前正在开发一个 SQL 项目,并且正在 Netbeans 上制作 GUI。我找到了有人使用的代码,我希望对其进行更改。但是,我目前收到一个错误,我不知道如何修复它。我已经联系了创建此代码的人,但没有得到回复。运行代码后出现的错误是:

com.microsoft.sqlserver.jbdc.SQLServerException:方法 executeQuery() 不能接受 PreparedStatement 或 CallableStatement 的参数

这是我复制的部分代码

private void signinActionPerformed(java.awt.event.ActionEvent evt) {                                       
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String url = "jdbc:sqlserver://SQL2.cis245.mc3.edu:1433;\" + \"databaseName=zz_CIS245_16;user=tpatel;password=tpatel";   
            
            Connection con = DriverManager.getConnection(url);
            System.out.println("connection created");
           
            String sql="select * from test where Username=? and Passeword=?";
            PreparedStatement pst = con.prepareStatement(sql);
            pst.setString(1, username.getText());
            pst.setString(2, password.getText());
            ResultSet rs=pst.executeQuery(sql);

            if(rs.next())
            {
                JOptionPane.showMessageDialog(null, "password and username matched");
                //System.out.println("Address : "+rs.getString(2));
            }
            else {
            JOptionPane.showMessageDialog(null,"password or username not corrected");
            username.setText("");
            password.setText("");
            }
                con.close();
        }
        catch(Exception e)
        {
            JOptionPane.showMessageDialog(null, e);
        }
    }

【问题讨论】:

  • ResultSet rs=pst.executeQuery(sql); 更改为 ResultSet rs=pst.executeQuery(); - 当您调用 prepareStatement 时,该语句已定义
  • 谢谢你。它确实修复了我收到的消息,但现在我收到一条显示无效对象名称“test”的消息。
  • test真的存在吗?
  • 是的,在 SQL 服务器中

标签: java sql-server netbeans


【解决方案1】:

您已经在此处将查询传递给 PreparedStatement 变量:

            PreparedStatement pst = con.prepareStatement(sql);

只需从 executeQuery() 方法中删除参数

            ResultSet rs=pst.executeQuery();

【讨论】:

    猜你喜欢
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    相关资源
    最近更新 更多