簡體   English   中英

Java中.accdb訪問數據庫的JDBC連接

[英]JDBC connection for .accdb access database in java

給定程序中的每件事都是正確的,但未建立與數據庫的連接。 可能是什么原因?是驅動程序相關的問題。 我想在沒有DSN的情況下執行此操作。

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

public class FormAccess1 extends Frame implements ActionListener {

    private static ResultSet rs;
    Panel p1;
    TextField t1, t2;
    Button next;

    public FormAccess1() {
        super("Applicant Detail");
        setLayout(new GridLayout(5, 1));
        p1 = new Panel();
        t1 = new TextField(10);
        t2 = new TextField(10);
        add(p1);
        next = new Button("Next");
        p1.add(new Label("book-id"));
        p1.add(t1);
        p1.add(new Label("book-title"));
        p1.add(t2);
        p1.add(next);
        next.addActionListener(this);
        pack();
        setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == next) {
            try {
                rs.next();
            } catch (Exception em) {
            }
            showRecord(rs);
        }
    }

    public void showRecord(ResultSet rs) {
        try {
            t1.setText(rs.getString(1));
            t2.setText(rs.getString(2));
        } catch (Exception ex) {
        }
    }

    public static void main(String arg[]) {
        FormAccess1 app = new FormAccess1();
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.accdb)};DBQ=MyDatabase.accdb;DriverID=01";
            Connection con = DriverManager.getConnection(database, "", "");
            Statement state = con.createStatement();
            System.out.println(rs.getString(1));
            System.out.println(rs.getString(2));
            rs.next();
            app.showRecord(rs);
        } catch (Exception ey) {
        }
    }
}

驗證計算機中是否具有正確的訪問驅動程序(Access 2013可再發行文件)。 可能是x86或x64。 Jre / Jdk應該一致:x86或x64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM