Почему мой класс Java не пишет в базу данных? - PullRequest
2 голосов
/ 14 июня 2011

У меня проблемы с получением Java для записи в базу данных.

У меня есть следующий код, который компилируется и запускается без ошибок.

import java.sql.*;
import java.lang.reflect.*;
import java.lang.reflect.Array;

public class InquireRecord {

    private String submitter;

    public static void main(String[] args) {
        InquireRecord Stub = new InquireRecord();
        Stub.sendToDb("insert into inquiries (submitter) values ('Rodger Dunn')");
    }

    public InquireRecord() {
        super();
    }

    public void sendToDb(String queryString){
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String filename = "C:/Development/inquire.mdb";
            String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
            database+= filename.trim() + ";DriverID=22;READONLY=true}";
            Connection con = DriverManager.getConnection( database ,"","");
            Statement s = con.createStatement();
            s.execute (queryString);    
        }
        catch (Throwable e) {
            System.out.println(e);
        }
    }
}

Файл C: /Development/inquire.mdb существует и доступен для записи. Это не используется ничем другим.

База данных имеет 2 поля: ID (который увеличивается и является индексом) и submitter, который является текстовым полем длиной 255.

Я не получаю никаких ошибок при запуске или при компиляции. Но никакие данные никогда не появляются в базе данных. Я новичок в Java, но не в SQL. Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Полагаю, вам следует закрыть (con.close ()) соединение перед выходом из программы.

0 голосов
/ 15 июня 2011

Измените свой улов:

try {
    Class.forName(....);
} catch (ClassNotFoundException e) {
    System.out.println(e.getMessage());
    System.exit(1);
}
try {        
   ...your SQL commands...
} catch (SQLException sqe) { 
   System.out.println(sqe.getMessage();
}

чтобы увидеть, что происходит.

Как сказал Ховард выше, ЧТЕНИЕ может быть проблемой ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...