ACCESS插入不了数据是什么问题?用的是JDBC

来源:百度知道 编辑:UC知道 时间:2024/07/04 06:25:04
我用JAVA写了一个插入数据的简单 程序,为什么插不进去数据呢?换成SQL2000就没问题。
增册改都不行,就查询可以用,是不是哪个地方有权限问题?
XPsp2
jdk1.4
Access2000
不是NTFS的,我的系统是FAT32格式的。
这个问题好长时间都没解决了。
我以前在win2000中也试过,就是不行。
import java.sql.*;
public class AccessTest
{
public static void main(String args[])
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:AccessTest");
Statement st=con.createStatement();
// ResultSet rs=st.executeQuery(\"select * from login\");
// rs.next();
// System.out.println(rs.getString("name"));
int ok=st.executeUpdate("insert into login(name,pwd) values('testName','testPwd')");

上面是我的代码,注释的是查询(没问题),执行的是insert最后都能返回1,但表中没有新计录
用你的那个SQL语句格式\"编译出错:
试过了不行,群里有人和我说是主键的问题,但我也DEL了,不行。!!!

磁盘格式是NTFS吗?如果是应该就是文件权限设置问题了,在MDB上点右键-》属性-》权限,把写入权限勾上

问题补充:
是不是你的SQL语句格式有问题?举个例子吧:
错误:Statement stmt = conn.createStatement();
stmt.executeUpdate("Insert into books(name) values('z')");

正确:
Statement stmt = conn.createStatement();
int insert_ok = stmt.executeUpdate(\"Insert into books(name) values(\'z\')\");

你确定你写的是这样吗:
int ok=st.executeUpdate(\"insert into login(name,pwd) values(\'testName\',\'testPwd\') \");

如果不行试试:
int ok=st.executeUpdate(\"insert into login(name,pwd) values('testName','testPwd') \");