0
try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        Connection conn= DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=D:\\DataBase1.mdb","","");
     int id=Integer.parseInt(JOptionPane.showInputDialog("Enter ID"));
     String name=JOptionPane.showInputDialog("Enter Name");
     String Phone=JOptionPane.showInputDialog("Enter PHone");
String mobile=JOptionPane.showInputDialog("Enter Moblie");
//String sql="insert  into friends values "id,'"+home
     Statement ss=conn.createStatement();
       ss.executeUpdate("insert into friends values("+id+",'"+name+"','"+Phone+"','"+mobile+"')");
        Statement s=conn.createStatement();

        ResultSet res=s.executeQuery("select*from friends order by id");
        while(res.next()){
            System.out.println(res.getString(1)+"\t"+res.getString(2)+"\t"+res.getString(3)+"\t"+res.getString(4));

        }
    }catch(Exception e){
     JOptionPane.showMessageDialog(null, e.getMessage());
    }

    }

これは私のコードですが、実行すると、この例外が表示されます ("java.sql.SQLException: ??[Microsoft][ODBC Driver Manager] ???? ??? ???") 何が問題なのかわかりません助けてください???

4

1 に答える 1

2

Statement の代わりに PreparedStatement を使用するのはどうですか? あなたのコードはハードコードされた変数を受け入れていないと思います! そして、これ以上トラブルに巻き込まれないように、接続を閉じることを忘れないでください。

また、星の周りにスペースが必要です"select * from friends order by id"

于 2012-05-12T19:43:27.773 に答える