在java中运行代码时发生类未找到异常错误

在java中运行代码时发生类未找到异常错误,java,Java,我试过这个密码。 如图所示填写后,单击“传输”按钮,例外情况将出现 抛出java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver 这是我的数据库表 账户持有人 acno |天平 转让详情 acno1 | acno2 |金额 请修复此错误 import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*;

我试过这个密码。 如图所示填写后,单击“传输”按钮,例外情况将出现
抛出java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver 这是我的数据库表

账户持有人

acno |天平

转让详情 acno1 | acno2 |金额

请修复此错误

import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import javax.swing.*;

    class DatabaseBean
    {
    Connection con1=null;

        public DatabaseBean( ) throws Exception
        {
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
             con1=DriverManager.getConnection("jdbc:odbc:dsnjsp","sa","");
           }

         public Connection getConnection( )
        {
            return con1;
            }
       }

    public class MoneyTransfer extends JFrame
    {
        JLabel label1,label2, label3;
        JLabel heading;

        JTextField text1,text2,text3;
        JButton but1;

        public MoneyTransfer( ){

            label1=new JLabel("From A/c Number");
            label2=new JLabel("To A/c Number");
            label3=new JLabel("Amount ");
            text1=new JTextField(5);
            text2=new JTextField(5);
            text3=new JTextField(5);

            heading=new JLabel("Money Transfer - using transaction ");
            heading.setFont(new Font("Curlz MT",Font.BOLD,12));
            but1=new JButton("Transfer");
            ButtonHandler handler1=new ButtonHandler( );
            but1.addActionListener(handler1);

            JPanel panel1=(JPanel)getContentPane( );
            panel1.setLayout(new FlowLayout( ) );
            panel1.add(heading);
            panel1.add(label1);
            panel1.add(text1);
            panel1.add(label2);
            panel1.add(text2);
            panel1.add(label3);
            panel1.add(text3);
            panel1.add(but1);
            setSize(420,120);
            setVisible(true);
            setLocation(200,200);

        }


    class ButtonHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent ae)
        {
            int _acno1= Integer.parseInt( text1.getText( ));
            int _acno2= Integer.parseInt( text2.getText( ));
            float _amount= Float.parseFloat( text3.getText( ));

            DatabaseBean db1=null;

            try{
            db1 = new DatabaseBean( );
            java.sql.Connection con1=db1.getConnection( );

            con1.setAutoCommit(false);

            PreparedStatement st1=con1.prepareStatement("update accountholder set balance=balance-? where acno=?");
            st1.setFloat(1,_amount);
            st1.setInt(2,_acno1);
            st1.executeUpdate( );

            PreparedStatement st2=con1.prepareStatement("update accountholder set balance=balance+? where acno=?");
            st2.setFloat(1,_amount);
            st2.setInt(2,_acno2);
            st2.executeUpdate( );

            PreparedStatement st3=con1.prepareStatement("insert into TransferDetails(acno1,acno2,amount) values(?,?,?)");
            st3.setInt(1,_acno1);
            st3.setInt(2,_acno2);
            st3.setFloat(3,_amount);
            st3.executeUpdate( );

            PreparedStatement st4=con1.prepareStatement("select balance from accountholder where acno=?");
            st4.setInt(1,_acno1);
            ResultSet rs1=st4.executeQuery( );
            rs1.next( );

            if(rs1.getFloat(1)< 0)
            {
                con1.rollback();
                JOptionPane.showMessageDialog(null,"transaction failed");
                }
            else
             {
                con1.commit( );
                JOptionPane.showMessageDialog(null,"transaction executed successfully");
                }

           clearscreen( );
           }catch(Exception ee)
            {
                System.out.println( ee.toString());
                JOptionPane.showMessageDialog(null,"excception caught");

                }

        }

    void clearscreen( )
    {
        text1.setText("");
        text2.setText("");
        text3.setText("");
        text1.requestFocus( );
        }
    }
        public static void main(String[ ] args)
        {
            MoneyTransfer instance1= new MoneyTransfer ( );
            }
    }
如果您使用的是Java8(很可能是这种情况),那么JDBC-ODBC桥已经被删除。请参阅此线程以更改连接属性

MsSQL 为了连接到mssql,只需使用sqlserverdriver


你安装了驱动程序吗?是的。我已安装所需的驱动器我已连接sql server 2000数据库而不是access@LoshiniLoganathan更新答案。请在你的问题中包括这些小细节,比如你正在使用哪个数据库,这样每个人都能理解你需要什么。由于ODBC主要用于连接MS Accessjava.lang.ClassNotFoundException:com.microsoft.sqlserver.jdbc.SQLServerDriver,因此此异常被忽略thrown@LoshiniLoganathan当然您必须将sqljdbc4.jar包含到您的库中并指定路径。您可以尝试进行一些研究。这很简单,如果你努力的话。
String url = "jdbc:sqlserver://localhost\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);