Java 在Access中添加新记录
我曾经有过这样的工作,但是随着一些其他的字段改变了路径,现在我似乎无法让它再次更新。代码如下:Java 在Access中添加新记录,java,ms-access,Java,Ms Access,我曾经有过这样的工作,但是随着一些其他的字段改变了路径,现在我似乎无法让它再次更新。代码如下: public class DbUpdate{ ResultSet rs; Statement st; public void DbUpdate(){ Connect(); } public void Connect(){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbc
public class DbUpdate{
ResultSet rs;
Statement st;
public void DbUpdate(){
Connect();
}
public void Connect(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\\User\\ugt\\Desktop\\ResourcePlanningTool_DB.accdb");
st = con.createStatement();
st.executeUpdate("INSERT INTO AssignmentDetails (Name) VALUES('Bob Joll')");
}
catch(Exception e){
System.out.println(e);
}
}
public static void main(String[] args){
DbUpdate x = new DbUpdate();
}
}
目前,项目运行时没有出现错误,但似乎没有实际更新表。路径名也是正确的。public void DbUpdate()不是一个很好的构造函数,也没有被调用。我删除了void,并在executeUpdate之后添加了一个
con.commit()
,它起作用了
编辑:似乎不需要提交
int retVal = st.executeUpdate("INSERT INTO AssignmentDetails (Name) VALUES('Bob Joll')");
System.out.println("Inserted: " + retVal);
//con.commit();
//con.close();
你有例外吗?您的文件位于
C:\ResourcePlanningTool_DB.accdb
?已更新-很抱歉,粘贴时部分路径被切断。它运行并打印1,但信息仍未保存在数据库中。是否应该使用save命令?似乎只有在使用rs=st.executeQuery(“从AssignmentDetails中选择名称”)时才保存该命令;在我创建新条目之后,它第一次对我也不起作用,所以我添加了提交行。从那以后,它每次都起作用。我也关闭了被重新打开的访问,访问有时会变得混乱。我还保留了con.close这句话,没有评论,这是我回答中的一个错误。