关于access,为什么提示“[Microsoft][ODBC Microsoft Access 驱动程序] INSERT INTO 语句的语法错误。”

各位大哥大姐,请大家帮帮我解决一下问题,谢谢!
以下是我的工程,运行后老是报[Microsoft][ODBC Microsoft Access 驱动程序] INSERT INTO 语句的语法错误。是怎么回事?
package access;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class TestAccess {
static class Record {
public String name = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String value = null;

}

int count = 1;
public static Record record = new Record();

public Connection dataBaseConnection() {
    Connection conn = null;
    try {
        String strurl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:/aa/db1.mdb";
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        conn = DriverManager.getConnection(strurl);
    } catch (Exception e) {
        System.out.println(e);
    }
    return conn;
}

public void writeDatabase(Record record) throws SQLException {
    Connection conn = null;
    conn = dataBaseConnection();
    System.out.println("conn");
    String strSql = "insert into ads(name,value) values (?,?)";
    PreparedStatement psmt = conn.prepareStatement(strSql);
    psmt.setString(1, record.getName());
    psmt.setString(2, record.getValue());
    psmt.executeUpdate();
    System.out.println("count:" + count++);
}

public static void main(String args[]) throws SQLException {
    TestAccess t = new TestAccess();
    record.setName("nihao");
    record.setValue("111");
    t.writeDatabase(record);
}

}

这是运行后的结果http://www.iteye.com/problems/new#

[img]http://dl.iteye.com/upload/attachment/478790/57a37790-2c59-38f5-b9c1-2e62fc7157eb.jpg[/img]

还有就是用access的数据库版本和这个问题有关吗?下面是我创建的表,这样创建对吗?

[img]http://dl.iteye.com/upload/attachment/478804/bfa3fd7a-841d-3823-93db-6fb29d820695.jpg[/img]

[quote]为什么数据库里边没有东西?[/quote]
改了以后,没有异常,对吗?

你重新打开数据库文件看看,应该有数据的。

value是关键字
使用String strSql = "insert into ads(name,[value]) values (?,?)";

这样就OK了