1

我有一个小问题jdbc.odbc.JdbcOdbcDriver

它给了我以下错误:

java.sql.SQLException: Driver does not support this function

编码:

saverec.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        saverecclick = 1;
        if (saverecclick == 1) {
            try {
                field2.setEnabled(false);
                field3.setEnabled(false);
                field4.setEnabled(false);
                field5.setEnabled(false);
                field6.setEnabled(false);
                table.setEnabled(true);
                MainFrame();

                String myDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
                String myUrl = "jdbc:odbc:DLFishHunter";
                con = DriverManager.getConnection("jdbc:odbc:DLFishHunter");
                stmt = con.createStatement();

                String query = " insert into Data (User, Datum, Location, Kind, Size , Bait)" + " values (?, ?, ?, ?, ?, ?)";
                Calendar calendar = Calendar.getInstance();
                java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime());
                PreparedStatement preparedStmt = con.prepareStatement(query);
                String suser = field0.getSelectedItem().toString();
                preparedStmt.setString(1, suser);
                preparedStmt.setDate(2, startDate);
                preparedStmt.setString(3, field3.getText());
                kinddb = field4.getSelectedItem().toString();
                preparedStmt.setString(4, kinddb);
                preparedStmt.setString(5, field5.getText());
                preparedStmt.setString(6, field6.getText());
                frame.dispose();
                preparedStmt.execute();

                try {
                    Class.forName(myDriver);
                } catch (ClassNotFoundException ex) {
                    Logger.getLogger(DBConnect.class.getName()).log(Level.SEVERE, null, ex);
                }
                Connection con = (Connection) DriverManager.getConnection(myUrl, "root", "");
            } catch (SQLException ex) {
                Logger.getLogger(DBConnect.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
});

问题出在上面的代码中。

4

1 回答 1

0

从该代码片段中判断出什么问题几乎是不可能的。您可能想尝试的几件事

1) 通常连接字符串包括用户名和密码。同样,了解您正在使用的特定数据库将有所帮助。有关ODBC 连接字符串的示例,请参见此链接

2)从getConnection(myUrl, "root", ""),我猜你已经设置了一个没有密码的用户root。由于您使用的是 ODBC,我假设您使用的是 Sql Server,它设置为使用 Windows 用户作为登录名,或者使用名为“sa”的用户 - 您可以使用这些凭据通过命令行/GUI 登录吗?

于 2013-08-13T21:53:53.267 回答