我的数据库连接代码如下,可就是联不上,2K的系统装了SP4
import java.sql.*;
import com.borland.dx.sql.dataset.QueryDataSet;public class DataBaseManager {
    Connection con;
    ResultSet rs;
    Statement stmt;
    QueryDataSet queryDataSet1 = new QueryDataSet();    public DataBaseManager() {
        String url =
                "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=tests";        String user = "sa";        String password = "123456";
        try {Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();}
        catch (Exception ex)
        {
            System.out.println("class is not found");
        }
        try {            Connection con = DriverManager.getConnection(url, user, password);
            Statement stmt = con.createStatement(ResultSet.
                                                TYPE_SCROLL_SENSITIVE,
                                                 ResultSet.CONCUR_UPDATABLE);        }
        catch (SQLException sqle) {
            System.out.println(sqle.toString());
        }
        try {
            jbInit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }    }    public ResultSet getResult(String strSQL) {
        try {
            rs = stmt.executeQuery(strSQL);
            return rs;
        } catch (SQLException sqle) {
            System.out.println(sqle.toString());
            return null;
        }    }    public boolean updateSql(String strSQL) {
        try {
            stmt.executeUpdate(strSQL);
            con.commit();
            return true;        } catch (SQLException sqle) {
            System.out.println(sqle.toString());
            return false;
        }    }    public void closeConnection() {
        try {
            //rs.close();
            //stmt.close();
            con.close();
        } catch (SQLException sqle) {
            System.out.println(sqle.toString());
        }    }    private void jbInit() throws Exception {
    }
}

解决方案 »

  1.   

    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at db3.DataBaseManager.getResult(DataBaseManager.java:51)
    at db3.UserLogin.actionPerformed(UserLogin.java:65)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)public ResultSet getResult(String strSQL) {
            try {
                rs = stmt.executeQuery(strSQL);
                return rs;
            } catch (SQLException sqle) {
                System.out.println(sqle.toString());
                return null;
            }
    public void actionPerformed(ActionEvent e) {
            if (e.getSource() == CancelBtn) {
                mainFrame.setEnable("else");
                this.disable();
            } else {
                char[] password = PasswordTextField.getPassword();
                String passwordSTR = new String(password);
                if (UserTextField.getText().trim().equals("")) {
                    JOptionPane.showMessageDialog(null, "用户名不可为空!");
                    return;
                }
                if (passwordSTR.equals("")) {
                    JOptionPane.showMessageDialog(null, "密码不可为空!");
                    return;
                }
                String strSQL;
                strSQL = "select * from user where UserName='" +
                         UserTextField.getText().trim() + "'and Password='" +
                         passwordSTR + "'";
                rs = db.getResult(strSQL);
                boolean isExist = false;
                try {
                    isExist = rs.first();
                } catch (SQLException sqle) {
                    System.out.println(sqle.toString());
                }
                if (!isExist) {
                    JOptionPane.showMessageDialog(null, "用户名不存在或者密码不正确!");
                    mainFrame.setEnable("else");
                } else {
                    try {
                        rs.first();
                        mainFrame.setEnable(rs.getString("Power").trim());
                        db.closeConnection();
                        this.dispose();
                    } catch (SQLException sqle2) {
                        System.out.println(sqle2.toString());
                    }
                }
      

  2.   

    sql server的端口号对不对,是不是默认的1433,你有没有改?